0
にブロックを渡す:ない方法エラーサムメソッドにブロックを渡そうとしたときの方法
def sum(list, &block)
list.find_all{yield}.reduce(0, :+)
end
sum([12, 14, 0, 7, 56, 0]) {|i| i % 2 == 0}
を、私はこのエラーを取得する:
NoMethodError: undefined method `%' for nil:NilClass
私の方法は認識しませんでしたi
私のリストの要素として。私はそれをどのように修正するのか分かりません。なにか提案を?
ありがとうございます。 Ruby APIのドキュメントでその構文をどこで見つけることができますか?私はそれをルビ文書で見つけることができませんでした。 –
あなたは[変換をブロックするPROC](http://docs.ruby-lang.org/en/2.0.0/syntax/calling_methods_rdoc.html#label-Proc+to+、私が使用し '&block'の話をしている場合ブロック+変換)。 'block'は[ブロック引数](http://docs.ruby-lang.org/en/2.0.0/syntax/methods_rdoc.html#label-Block+Argument)で作成された' Proc'オブジェクトです。 '&block 'あなた自身のコードで。 – Amadan