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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 次のソースコードの意味を教えてください form.show vbmodel vbmodelというもの 2 2023/07/03 19:17
- その他(プログラミング・Web制作) フォルダ内の特定 拡張子のファイルを一括実行するBat ファイルについて 4 2022/04/17 09:51
- PHP in_arrayについて教えて下さい。 1 2023/03/31 13:10
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- 英語 提示文は、全否定か部分否定のいずれなのか等について 1 2023/04/16 17:58
- Windows 10 USBにwindows10をいれて起動する方法 5 2022/04/14 14:29
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
- 楽器・演奏 筝曲譜の記号の意味 1 2022/07/04 14:30
- C言語・C++・C# C言語のファイル入力が分かりません 2 2022/05/22 06:35
- 日本語 意味とは何か、どこにあるのか? 16 2022/04/09 11:44
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Ruby】shift-jisのページの置換
-
OpenCV cvmatchtemplate
-
Rubyのrandについて
-
ruby ldapライブラリが利用でき...
-
rubyのエラー out of float ra...
-
無料で始められるプログラミン...
-
Rubyで文字列の先頭を取りだす
-
rubygems, railsのインストール
-
Ruby interpreter (CUI) 2.2.3 ...
-
web上のhtmlファイルから文字デ...
-
fortran のプログラムが分かり...
-
Windowsプログラミング、全部こ...
-
【本物のハッカーさん大至急助...
-
将来チャンスがあればプログラ...
-
RubyGems の「GEM」は何の略で...
-
ruby で C(コンビネーション...
-
ruby19 -vは○、gem19 -vは×な理由
-
HPビルダーでのルビ振りで不...
-
本の紹介
-
Windows上のRubyから、IMAP経由...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
小文字wと大文字Wの区別
-
プログラミング言語で大文字と...
-
「大文字・小文字・スペース」...
-
Filterで大文字、小文字の区別
-
Ruby expect 条件文(if文)の書き方
-
Ruby / passenger のインストー...
-
システムエンジニアの適正について
-
初心者 パイソンプログラム
-
プログラミング講師はまだ需要...
-
VB.NETで階乗を求めるプログラ...
-
web上のhtmlファイルから文字デ...
-
RubyでNo such file or directo...
-
Rubyの.soについて
-
九九の表示
-
ruby の Σ計算
-
バーコードのチェックデジット...
-
CかC++どちらを覚えるべきですか?
-
Rubyのpopen3について
-
We're sorry, but something we...
-
ruby.exeとrubyw.exeに違いがあ..
おすすめ情報