3

今日はコードが表示されます

#! cruby 1.9
lam = lambda do |(a,b),c|
#blahblah
end

一見等しい

lam = lambda do |l,c|
a,b = *l
#blahblah
end

この構文の「正式名称」はありますか?

4

1 に答える 1

5

はい、それは破壊と呼ばれます。

では、破壊とは何ですか?私が見つけた最も簡潔な定義は、Common LisptheLanguageからのものです。デストラクチャリングを使用すると、通常は単一の変数に値をバインドできる場所であればどこでも、変数のセットを対応する値のセットにバインドできます。これはClojureの強力な機能であり、非常にエレガントなコードを記述できます。Clojureの機能の詳細については、このテーマに関するJayFieldのブログ投稿を確認することをお勧めします。Rubyでの破棄は、Clojureほど強力ではありませんが、それでもいくつかのクールなことを行うことができます。

于 2013-01-05T07:26:22.987 に答える