アプリ版:「スタンプのみでお礼する」機能のリリースについて

基本的な質問ですみません。
Rubyを勉強中の者です。

---------------------
a=1, 2, 3
p a.join(",")
#=> "1, 2, 3"
---------------------

あるテキストで上記のプログラムが紹介されていたのですが、1行目の意味がよくわかりません。

これは配列の
a=[1, 2, 3]
と同じでしょうか?

動作確認したところ、どちらも同じ結果なので、やはり配列のことかなと思っています。
でも調べても、配列の[]を省略できるという話は見当たりません(調べ方が悪いのかもしれませんが)。

よろしくお願いいたします。

A 回答 (1件)

いちおう「多重代入」という形でサポートされているようですね.



公式の日本語マニュアル
https://docs.ruby-lang.org/ja/latest/doc/spec=2f …
の文章を読んでもそうとは解釈できないんだけど, 例では確かにそうなってるからそうなんだろうなぁ.
    • good
    • 0
この回答へのお礼

ありがとうございます。
たしかに教えていただいたリンク先(下記)を見ると、多重代入で間違いないようですね。

-----------------------
foo, bar = 1, 2, 3 # foo = 1; bar = 2
foo = 1, 2, 3 # foo = [1, 2, 3]
*foo = 1, 2, 3 # foo = [1, 2, 3]
-----------------------

でも「左辺の要素の数よりも 配列の要素の数の方が多い場合には、余った要素は無視されます」とあるのに、左辺の要素が一つしかない場合は、すべての要素が一つの配列として代入されてしまうのは不思議ですね。
勉強になりました。感謝いたします。

お礼日時:2017/04/14 10:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!