
No.4ベストアンサー
- 回答日時:
>Rubyの本に、「$」はグローバル変数の指定として、次のような複数の扱い方があります。
本の名前が書いてありませんが、入門書ですかね。入門書には全部書いてないことも多いですよ。
わからないことがあったらマニュアルを見る習慣をつけましょう。
マニュアルの $? の説明部分には、$? には、nilもしくはProcess::Status 型のオブジェクトが入っていると書いてあります。
従って、$? の使い方はマニュアルのProcess::Statusのクラスの説明の所を見てください。
No.3
- 回答日時:
そういうことでしたら
$で始まるものはグローバル変数なのですが、最初から定義されている特殊変数というものがあります。$?もその一つで、他にもあります。これらはいろんな情報を参照したり設定したりするものです。
今後も出てくると思うので、先程のサイトなどで確認するとよいです。
この回答への補足
Rubyの本に、「$」はグローバル変数の指定として、次のような複数の扱い方があります。
1) 文字列処理関連:
「$_」、「$<」、「$.」、「$/」、「$\」、「$,」、「$;」、「$F」、
2) パタンマッチング関連:
「$~」、「$&」、「$'」、「$+」、
3) コマンドライン関連
「$-a」、「$-i」、「$-l」、「$-p」、「$-W」、
しかし、「$?」だけの説明は今まで見つからなかったのです。
恐らく直前の処理を指していると思います。どのように定義されているか、正しい使い方を知りたくて質問に出したのです。
No.2
- 回答日時:
これは、shellスクリプト等を触っていればよく出てくるし、それ以外でもよくある話なのですが、あるプログラムが終了すると、それが正常終了したか、異常終了したか終了後にほかのプログラムに知らせるリターンコードっていうのがあります。
まず最初に、cmdには"ls -l"がはいってます。
こいつを、systemつまり、OSに食わせるわけです(厳密にはちょっと違うと思いますがね。この説明)。
で、そいつが正常終了すれば、0。異常終了すれば0以外を返します。
…ふつうは。
ふつうはそういう設計になっているはずです。
歴史的に、正常終了は0なのです。
もしそれの由来とかどなたかご存じでしたらお教えねがいたいんですが。
ともかく、異常終了したら、1が返ってくる場合が殆どです。
これを条件のif文で分岐させるんです。
ご丁寧に解説していただいて有難うございます。
「$?.exitstatus」は system(cmd) 実行の戻り値ですね。
しかし、「$?」はどのように定義されたのでしょうか。
$?.exitstatus の他に、使い方の例を教えて頂けたら助かります。
No.1
- 回答日時:
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fvar …
http://doc.ruby-lang.org/ja/1.9.3/class/Kernel.h …
マニュアルに明記されていますが、これらを読んだ上で分からないのでしょうか?
Rubyは最近から他人のコードを読みながら勉強しています。
分からない時はマニュアルを探しながら理解しています。
教えてもらったリンクは初めて見た「$?」のページです。
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(再質問)エクセルのマクロボ...
-
秀丸エディタで、同じ記号で囲...
-
CSSのhtmlへの紐付けについ...
-
Ruby 格納
-
Ruby newメソッド
-
1、Rstudioで回帰直線を求める...
-
a=2, b=1のとき”x=(a-b+3)%3”の...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
小文字wと大文字Wの区別
-
プログラミング言語で大文字と...
-
「大文字・小文字・スペース」...
-
Filterで大文字、小文字の区別
-
【Ruby】shift-jisのページの置換
-
ruby on railsの シンタックス...
-
encode指定の表記について(Rub...
-
Ruby expect 条件文(if文)の書き方
-
フォルダー名の大文字小文字
-
COBOLのIFの入れ子について
-
VB.NETで階乗を求めるプログラ...
-
Windowsでchangenotifyしたい
-
Rubyのソースを難読化すると「u...
-
Ruby / passenger のインストー...
-
バーコードのチェックデジット...
-
Ruby on Railsでボタンをクリッ...
-
パソコンのフォルダ保存について
-
書店・アマゾンで購入できる、P...
-
Rubyの.soについて
-
Rubyを勉強している初心者です...
おすすめ情報