私は、飲み物をアレイに追加するための小さなDSLのようなプログラムを作った。これは、instance_eval
と&block
を使用してクイックプログラムを作成するためのかなり基本的な例です。ここでRubyブロックで配列を返すようにしますか?
は、プログラムの:
class Drinks
def initialize(&block) # Initialize drinks
@drinks = []
instance_eval &block
end
def drink(d)
@drinks << d
end # Add drink
def all_drinks
puts @drinks
end
end
add_drinks = Drinks.new do
drink "water"
drink "soda"
drink "juice"
end
add_drinks.all_drinks
計画はあなたがadd_drinks.all_drinks
を使用する必要はありませんのでadd_drinks
オートリターン自体を作ることです。これは可能でしょうか?ありがとう。
"自動返却する"?しかし、それはあなたが望むものではありません、あなたは配列をしたいですか? –