備忘録4:Ruby-returnで配列を作る
転職のための3月6日から某スクールにでプログラミング学習を始めた32歳のおっさんです。時系列でHTML⇨CSS⇨Rails & JavaScriptを学習中。
今回は偶然見つけたreturnの驚愕の使い方。
ググってもそれらしき記事が出て来なかったので書いておきます。
学習内容:returnによる配列の生成
1:開幕の自問自答
①何これ?????
⇨retrunで配列が出来ちゃったんで書きました。
②配列の定義って「変数名 = [ ]」だよね????
⇨そうですね。
③んじゃあ余計に何言ってんの?????????
⇨見ればわかるんで見てくださいっ!
2:こんな感じにしたら出来ました
こんな感じにしたら、こうなっちゃいました。
①の処理
変数x を定義&メソッドの呼び出し
メソッド内で変数を2つ定義
returnで定義した変数2つを返り値に指定
②の処理
変数x の中身を配列で確認
ちゃっかりメソッド内で定義した変数 a と b が入っている
③の処理
本当に配列として機能しているのか each処理 で確認
当然の権利であるかのように each処理 が実施出来ている
こんな感じで、通常の定義 「変数名 = [ ]」を行わなくても
returnを使うことで勝手に変数が配列になるようです。
ちなみに
def test(num)
a = num + 1
b = num + 10
c = num + 100
return a, b, c
end
num = 0
x, z = test(num)
このようにすると以下2つにはaとbがそれぞれ入り
x = a
z = b
変数cはどこかに消え去ってしまうようです。
????? = c
このように3つ定義すると、以下のようになります。
x, z, s = test(num)
x = a
z = b
s = c
以上のことから、returnで配列が作れるのは定義した変数が1つの時に限定されるようです。
変数が2つ以上ある場合は 変数の数 = 返り値の数 にする必要があるようです。
と、いう素人の発見でした。
メンターさんにも聞きましたが、この現象は知らなかったそうです。
ググってもそれらしき記事は出てきませんでした。
とは言え、実用性があるか?
と問われると、可読性が下がるので使われることはなさそうです。
記事が無いのも、単純に実用性が無いからかもしれません。
なので今回は、個人的な知的好奇心が満たせたのでヨシとします。
自己満足ヨシ!!!!!!!!!!!
この記事が気に入ったらサポートをしてみませんか?