
お世話になります。前任者の作成したプログラムを読んでいるのですが、以下の部分が分からない為、ご教示頂ける方がいらっしゃれば、ご協力よろしくお願いいたします。
<エラーメッセージ表示部>
def usage
STDERR.print "\nusage: #$0 [-F/D] [-START/STOP] Filename \n"
exit 1
end
<オプション処理部>
while ARGV[0] =~ /^-/
case ARGV.shift
when /^-F(\d+)/ ; calling_num = $1.to_s
when /^-T(\d+)/ ; called_num = $1.to_s
when /^-START/ ; start_only = true
when /^-STOP/ ; stop_only =true
else ; usage
end
end
上記の $1へ値を渡すためには、コマンド入力時に特別な引数を渡す方法が必要なのでしょうか。
$ ruby -v check.rb -STOP Filename
⇒ 正常終了
$ ruby -v check.rb -F 012345678 Filename
⇒ STDERR.print 表示
No.1ベストアンサー
- 回答日時:
$ ruby -v check.rb -F 012345678 Filename
のように-Fと012345678の間にスペースが有る場合はARGVの中で別々の要素となります。
従ってこの場合は
when /^-F/ ; calling_num = ARGV.shift.to_s
とする必要があると思います。
-Fと012345678の間にスペースが無い場合はご提示のプログラムで問題ないのではないでしょうか。
No.2
- 回答日時:
>上記の $1へ値を渡すためには、コマンド入力時に特別な引数を渡す方法が必要なのでしょうか。
どこまでわかっているのか不明ですが、
単純にオプションとして受け取れるのが -F数字 -T数字 -START -STOP のパターンのみで、
-F数字が指定された場合に正規表現 /^-F(\d+)/ にマッチした数字部分が $1 に格納されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Ruby vscode 文字化け 1 2022/05/21 19:17
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- その他(プログラミング・Web制作) Rでのスクリプトのご相談 3 2022/12/08 16:22
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- その他(セキュリティ) Software Distribution folder の rename 手順 1 2022/08/19 13:08
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ruby 配列
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby loopメソッド 変数(再喝)
-
ruby loopメソッド 変数
-
ビーリアルのユーザー名を変え...
-
英数字を含む文字列(0-9,A-Z)...
-
C言語の入力した文字を反転させ...
-
(再質問)エクセルのマクロボ...
-
ruby while式
-
ruby クラス・オブジェクト・イ...
-
1、Rstudioで回帰直線を求める...
-
rubyでじゃんけんのプログラム...
-
実行時エラー450:引数の数が一...
-
【VBA】複数シートのデータを1...
-
c言語でランタイムエラーの処理...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ruby require ライブラリー
-
(再質問)エクセルのマクロボ...
-
ruby loopメソッド 変数(再喝)
-
ruby loopメソッド 変数
-
ルビー言語 ライブラリー(再々...
-
ruby while式
-
ルビー言語 ライブラリー 追記
-
ビーリアルのユーザー名を変え...
-
ruby OpenURI::Meta
-
ruby クラス・オブジェクト・イ...
-
ruby begin句
-
ruby raise句
-
ruby ensure句
-
ruby 配列
-
ルビー言語 csvファイル part2
-
ルビー言語 csvファイル 続き(...
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
-
パソコンのスクリーンセーバー...
-
ルビー言語 ライブラリー
おすすめ情報