2017-03-17 5 views
0

変数割り当ては次のように行うことができる変数の割り当てのようなコールこれまで:平行法は、

となります。

a, b << 1 , 5 
+0

それは空想的ではありません。ややこしい。 –

+0

コメントとして、変数を定義するためのパラレル割り当ての使用を避けるhttps://github.com/bbatsov/ruby-style-guide#parallel-assignment。 –

+0

あなたがやろうとしていたことがありますか?あなただけが好奇心だったのですか? – eiko

答えて

1

いいえ、サポートされている「並列シャベル」演算子はありません。人々は一般的に関数から複数の戻り値を取り、後で使用するための変数に保存したいので

パラレル割り当てが存在する:

evens, odds = group_by_parity([1,2,3,4,5]) 

それはに配列から各項目をシャベルする必要があるためにはるかに少ないのが一般的です別の変数。あなたが本当に新しい変数を作成せずに複数の変数への関数の戻り値をシャベルしたい場合は、この操作を行うことができます:あなたは負えない感じている場合は

group_by_parity([1,2,3,4,5]).tap do |results| 
    evens << results[0] 
    odds << results[1] 
end 

、私はあなたがこれを行うことができたとします

a[a.length], b[b.length] = 1, 5 

しかし、私はそれが良いコードと考えられる状況を考えることはできません。

+0

良いコードの練習よりも好奇心が強い。私たちはすべて、開発経路の道に沿って良いコーディング実践を学ぶべきですが、いつもやるべきことが何であるか、なぜ、より多くのことを学ぶのが好きです。お返事をありがとうございます。 – jkessluk

+0

@jkessluk助けてうれしい!明らかにコードを投稿した人物として、それが悪いコードであるという免責事項を追加することは重要です。しかし私は絶対にあなたの好奇心を支え、言語の限界を学ぶことは価値があることに同意する^ - ^ – eiko

関連する問題