見出し画像

備忘録4:Ruby-returnで配列を作る

転職のための3月6日から某スクールにでプログラミング学習を始めた32歳のおっさんです。時系列でHTML⇨CSS⇨Rails & JavaScriptを学習中。
今回は偶然見つけたreturnの驚愕の使い方。
ググってもそれらしき記事が出て来なかったので書いておきます。

学習内容:returnによる配列の生成

1:開幕の自問自答

①何これ?????
 ⇨retrunで配列が出来ちゃったんで書きました。
②配列の定義って「変数名 = [ ]」だよね????
 ⇨そうですね。
③んじゃあ余計に何言ってんの?????????
 ⇨見ればわかるんで見てくださいっ!


2:こんな感じにしたら出来ました

画像1

こんな感じにしたら、こうなっちゃいました。

①の処理
  変数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つ以上ある場合は 変数の数 = 返り値の数 にする必要があるようです。


と、いう素人の発見でした。

メンターさんにも聞きましたが、この現象は知らなかったそうです。
ググってもそれらしき記事は出てきませんでした。

とは言え、実用性があるか?
と問われると、可読性が下がるので使われることはなさそうです。
記事が無いのも、単純に実用性が無いからかもしれません。
なので今回は、個人的な知的好奇心が満たせたのでヨシとします。


自己満足ヨシ!!!!!!!!!!!

この記事が気に入ったらサポートをしてみませんか?