0
内にあるかどうかを決定する:ルビー - 値Iがマトリクスアレイ有しマトリクス列
m = Matrix[
[1, 2, 3],
[11, 15, 20]
]
array = [11, 13, 14, 18]
を各列の上部と下部の行の間のアレイ位置からの要素を決定する方法はあります行列の?ありがとう。
内にあるかどうかを決定する:ルビー - 値Iがマトリクスアレイ有しマトリクス列
m = Matrix[
[1, 2, 3],
[11, 15, 20]
]
array = [11, 13, 14, 18]
を各列の上部と下部の行の間のアレイ位置からの要素を決定する方法はあります行列の?ありがとう。
それはあなたの「間」によって何を意味するか完全に明確ではないですが、簡単な理解がある:
def filter_array_between_first_and_last_rows_of_matrix(array,m)
lower = m.row_vectors.first.max
upper = m.row_vectors.last.min
array.select{|e| lower < e && e < upper}
end
は、ここに別の解釈です:
def filter_array_between_first_and_last_rows_of_matrix(array,m)
bounds_pairs = m.column_vectors.map { |cv| [cv.first, cv[-1]] }
array.select {|e| bounds_pairs.any? { |lo,hi| lo < e && e < hi } }
end
ありがとう、二番目のトリックでした。私は、一番上の行が上限で、一番下の行が下限であることを意味しました。このスレッドを表示する人は、 'cv [-1]'の後ろに閉じ括弧を追加してください。 – EHNole
あなたの問題文は少し不明です。期待した結果は何ですか? – dbenhur