定数 ARGV、 配列の配列から要素を取りだす
今回はターミナル/PowerShellからデータを入力する方法と配列の配列からオブジェクトを取りだす方法を試す。
目次
定数ARGV
RubyにはARGVという定数がある。
Rubyリファレンスマニュアルは次のとおり。
Rubyリファレンスマニュア Objectクラス
定数 ARGV
https://docs.ruby-lang.org/ja/latest/class/Object.html
ARGVにはターミナル/PowerShellから入力した値が配列のかたちで代入される。
入力値は全て文字列オブジェクトとなる。
値はRubyコマンドの引数として入力する。
引数はコマンドにつづけて半角スペースを挟んで入力する。引数は複数とれる。
コードを書く。
test.rb
p ARGV
上のテストコードをターミナル/PowerShellから次のように実行する。
ターミナル/PowerShell
ruby test.rb N会社 M大学 C大学 1 2 3
実行結果
["N会社", "M大学", "C大学", "1", "2", "3"]
入力した値が文字列オブジェクトになって配列に格納されているのがわかる。
次にARGVの値をとりだす。
ARGVは配列なのでインデックスを使ってとりだせる。
test.rb
#1番左の要素を表示する puts ARGV[0]
上のコードを次のように実行する。
ターミナル/PowerShell
ruby test.rb N会社 M大学 C大学 1 2 3
実行結果
N会社
実行結果はインデックス[0]のN会社だけが表示される。
配列の配列から要素を取りだす
入れ子になった配列の要素を取りだすには入れ子の分だけインデックスをつづけて指定する。
コードを書く。
test.rb
array_nest = [ ["a","b","c"], ["d","e","f"], ["g","h","i"] ] #aを選ぶ puts array_nest[0][0] #cを選ぶ puts array_nest[0][2] #hを選ぶ puts array_nest[2][1]
実行結果
a c h
ねらいどおり要素が取りだせている。
今回の環境
Ruby 2.4.3p205
macOS 10.13.3
Windows10