[#49536] コマンドラインで ruby の変数に値を設定する方法 — 尾川敏也 <ogw@...>

尾川と申します。

31 messages 2013/08/09
[#49537] Re: コマンドラインで ruby の変数に値を設定する方法 — 古川大輔 <mogya99@...> 2013/08/09

>スクリプト名に続く, `-'で始まる引数を解釈して, 同名のグローバル変数に値 を設定します。

[#49538] Re: コマンドラインで ruby の変数に値を設定する方法 — 尾川敏也 <ogw@...> 2013/08/11

尾川です。

[#49539] Re: コマンドラインで ruby の変数に値を設定する方法 — Nobuyoshi Nakada <nobu@...> 2013/08/11

(13/08/11 11:14), 尾川敏也 wrote:

[#49596] シェルスクリプトの Ruby での置き換え (was Re: コマンドラインで ruby の変数に値を設定する方法) — 尾川敏也 <ogw@...> 2013/09/21

尾川と申します。おはようございます。

[#49598] IO.popen に不具合? — 尾川敏也 <ogw@...> 2013/09/24

たびたびお騒がせします。尾川と申します。

[#49611] IO.popen の不審な挙動を再現するサンプルコード — 尾川敏也 <ogw@...> 2013/09/28

尾川です。

[ruby-list:49537] Re: コマンドラインで ruby の変数に値を設定する方法

From: 古川大輔 <mogya99@...>
Date: 2013-08-09 23:30:43 UTC
List: ruby-list #49537
>スクリプト名に続く, `-'で始まる引数を解釈して, 同名のグローバル変数に値 を設定します。

http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2frubycmd.html

#! /bin/ruby -s
# prints $x if invoked with `-x=2' switch.
print "x is #{$x}\n" if $x

こういうプログラムに対して

$ ruby test.rb -x=2
x is 2

という具合です。



----- Original Message -----
> From: 尾川敏也 <ogw@shizuokanet.ne.jp>
> To: ruby-list@ruby-lang.org
> Cc: 
> Date: 2013/8/10, Sat 07:17
> Subject: [ruby-list:49536] コマンドラインで ruby の変数に値を設定する方法
> 
> 尾川と申します。
> 
> awk の -v オプションのように、スクリプト内の変数にコマンドラインで
> 値を設定する方法は無いのでしょうか?
> 
> awk で
> 
> #---------- test.awk ------------
> { print $1 * x }
> #--------------------------------
> 
> というスクリプトに対して
> 
>     awk -vx=2 -f test.awk
> 
> とするような使い方です。
> 
> ruby にはそれらしいコマンドラインオプションが見当たらないようでした
> ので、少し考えて、以下のように環境変数を使って
> 
> #---------- test.rb ------------
> p ENV["x"].to_i * $F[0].to_i
> #--------------------------------
> 
>     x=2 ; export x ; ruby -na test.rb
> 
> とすることで、機能としては同じようなことはできました。
> 
> ですが、なんだか面倒で、ちょっとブサイクです。もっとすっきり書く方
> 法は無いでしょうか?
> 
> -- 
> 尾川敏也 ogw@shizuokanet.ne.jp
> http://www6.shizuokanet.ne.jp/ogw/
> 

In This Thread