だから私はLispでこの構文が本当に好きです:
(+ 1 1 2 3 5 8 13)
=> 33
Ruby でアイテムのリストを追加したいのですが、これをできる限り近似したいと考えています。現在、私の最善の解決策には、配列と収集/マップ メソッドが含まれます。
そう:
sum = 0; [1,1,2,3,5,8,13].collect { |n| sum += n }
しかし...
nil を返すメソッドをこれに追加したいと思います。
sum = 0; [1, booking_fee, 8,13].collect { |n| n = 0 if n.nil?; sum += n }
真ん中のすべての行がnilを返す可能性のあるメソッドを参照している場合、これを行うのは本当に素晴らしいことですが、この方法で配列を正確に構築することはできません. これは、構文をどのように見せたいかという単なるアイデアです。
def total
Array.new do
booking_fee
rental_charges
internationalization_charges
discounts
wild_nights
end.collect { |n| n = 0 if n.nil?; sum += n }
end
ハッキングしてグリーンスパンの法則を実行しようとする前に何か提案はありますか? (プログラミングは確かに強制です。