numbers = 1..10
print numbers.map {|x| x*x}
# I want to do:
square = {|x| x*x}
print numbers.map square
構文がより簡潔であるためです。私はそこに使用することなくこれを行う方法def
+ end
?Rubyでブロックを定義/名前を付けるにはどうしたらいいですか?
numbers = 1..10
print numbers.map {|x| x*x}
# I want to do:
square = {|x| x*x}
print numbers.map square
構文がより簡潔であるためです。私はそこに使用することなくこれを行う方法def
+ end
?Rubyでブロックを定義/名前を付けるにはどうしたらいいですか?
square = proc {|x| x**2 }
print number.map(&square)
ありがとうございましたLBg、&は何ですか? –
'&'ブロック上のProcオブジェクトをメソッドに変換します。 –
numbers = 1..10
square = lambda{|x| x*x }
numbers.map &square
ブロックが本当にそれ自体が目的ではないので、あなたは変数にブロックを割り当てることができません。作成に
numbers = 1..10
print numbers.map {|x| x * x }
square = -> x { x * x }
print numbers.map &square
私の答えを編集した人と、その編集を承認した2人の人:あなたが何をしているのか分からなければ、しばらくしないでください。私は間違いを修正する人には問題ありませんが、それらを紹介するのは大丈夫ではありません。私のコードは完璧に動作し、あなたのものだけでなく、パースもしません。 –
が異なるいくつかの方法があります:あなたはがは何ができるか
は、変数に
Proc
オブジェクトを割り当て、その後、&
単項演算子を使用してブロックすることに変換されオブジェクトとしてブロックします。そのうちのいくつかは廃止予定です。 TIMTOWTDIは実際にここに適用されます。 –