Ruby - コマンドライン引数 - べた書き

 クラウディア
1. 概要
2. 引数を出力する
3. 引数の個数

1. 概要

 べた書きというか、ライブラリも何も使わず、文法的な機能を使う方法です。  本項は「Rubyでコマンドライン引数を取得する方法:ARGV」を参考にさせていただきました。

2. 引数を出力する

 第Ⅰ引数、結局のところプログラム本体になりますが・・・これは

$0
 という変数で参照可能だそうな。  第2引数以降は

ARGV[引数番号]
 で参照します。引数番号は第2引数が 0 で以降、1ずつインクリメントする値とのこと。  で、まぁこれも参考サイトの通りにソースファイルを下記のように記述して
#!/usr/bin/env ruby

puts "$0:#{$0}"
ARGV.each_with_index do |arg, i|
  puts "ARGV[#{i}]:#{arg}"
end

 実行すると、以下の結果が得られます。

$0:ソースファイル名.rb
ARGV[0]:a
ARGV[1]:bb
ARGV[2]:ccc

print "#{変数}"
 で変数を文字列として展開するのだそうな。  スカラ変数が

$英数字
 の形式を持つのは perl あたりと同じです。

3. 引数の個数

 引数の個数は ARGV.size() で求められるのだそうで・・・。  ARGV も一般的なクラスの派生クラスだと思えば納得。  下記のソースを書いて
#!/usr/bin/env ruby

puts("引数の個数は #{ARGV.size()}")

 実行すると、以下の結果が得られます。

> ./ソースファイル名.rb a
引数の個数は 1
> ./ソースファイル名.rb a b
引数の個数は 2
> ./ソースファイル名.rb a b c d
引数の個数は 4
earthcar(アースカー)