私の個人的なプロジェクトの1つに次のコードがあります。
def allocate(var, value) # Allocate the variable to the next available spot.
@storage.each do |mem_loc|
if mem_loc.free?
mem_loc.set(var, value) # Set it then break out of the loop.
break
end
end
end
ストレージアレイの各アイテムは、freeに応答するオブジェクトですか?と設定します。私がやろうとしているのは、配列を循環して、変数を設定する次の空の(空の)オブジェクトを探すことです。私の問題は、これはすべてのオブジェクトを循環してすべてを設定することです。ブレーク機能を間違って使用していますか?
それをテストして、私は次のように呼びます:
store.allocate(:a, 10)
store.allocate(:b, 20)
したがって、store [1]は:bおよび20に設定する必要があります。ただし、内容を出力すると、配列の残りの部分と同様に、値は10になります。