
No.3ベストアンサー
- 回答日時:
>質問③の追加質問
>"begin: a=#{a} b=#{b} c=#{c}\n"の所は、"a=#{a} b=#{b} c=#{c}\n"と書き換えても良いという事ですね?
回答:はいそうです。
>質問④「ダブルクオートの中に変数の内容を埋め込みたい」とNo.2の回答で書いてありますが、このケースでは、どうなるのでしょうか?
回答:
回答:
そのようにしたいから、
print "begin: a=#{a} b=#{b} c=#{c}\n"
のようにしています。
aが5、bが20、cが4の時
print "begin: a=#{a} b=#{b} c=#{c}\n"
を実行すると
begin: a=5 b=20 c=4 と表示されます。
print "begin: a=a b=b c=c\n" とかいて、実行すると
begin: a=a b=b c=c と表示されてしまいます。
No.2
- 回答日時:
>疑問① a=#{a}の所は、♯は、インスタンスメソッドで、a.newと書き換えられて、変数aに数値が代入されるのでしょうか?
>疑問② 再度a=#{a}の所の{a}の{}の意味は、ハッシュという意味で、{a}の意味は、「aの単体版ハッシュ」という意味でしょうか?
回答:
ダブルクオートの中に変数の内容を埋め込みたいときに使います。
式展開と呼ばれています。
下記を参照ください。
https://pikawaka.com/ruby/formula-expand
マニュアルでは
https://docs.ruby-lang.org/ja/latest/doc/spec=2f …
の式展開の個所です。
ハッシュとa.newは関係ありません。
>疑問③ "begin: a=#{a} b=#{b} c=#{c}\n"の所で、このbeginは、当然begin句とは、別物ですよね?
回答:はい、別ものです。単なる文字列です。そのbeginはなくても構いません。余分でした。
No.1
- 回答日時:
メソッド定義の中では、begin句を省略できます。
--------------------------------------------------
def main
a = ARGV[0].to_i
b = ARGV[1].to_i
print "begin: a=#{a} b=#{b}\n"
c = b / a
print "begin: a=#{a} b=#{b} c=#{c}\n"
rescue
print "error occured!\n"
end
main()
print "prcess end\n"
--------------------------------------------
上記のスクリプトを ex4.rb のファイル名で保存します。
ケース①正常ケース
ruby ex4.rb 5 20
begin: a=5 b=20
begin: a=5 b=20 c=4
prcess end
ケース②エラーケース(rescueが実行されるケース)
c = b / a・・・でaが0の為、エラーになる。
ruby ex4.rb 0 20
begin: a=0 b=20
error occured!
prcess end
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby Ruby 変数 用途と違い 2 2025/02/16 12:12
- 邦楽 BEGIN(ビギン)のツアーについて 3 2023/08/11 19:46
- その他(プログラミング・Web制作) Latexに関する質問です。 3 2023/05/23 10:18
- その他(プログラミング・Web制作) プログラミング言語のバージョン確認について。 2 2025/03/07 14:46
- その他(プログラミング・Web制作) CやJAVa,Rubyなどプログラミング言語の分岐のコードを思いつく限り教えてください。 if(◯ 4 2023/12/07 19:48
- Excel(エクセル) 新規ブックの作成について。 1 2024/11/29 19:35
- その他(IT・Webサービス) 今、プログラミングスクールの『Tec⚫︎cademy」のRuby on railsを受講しているので 1 2023/05/10 22:10
- C言語・C++・C# ストリーム 意味について。 4 2023/10/30 18:17
- Excel(エクセル) excelVBAについて。 1 2024/11/25 01:28
- Excel(エクセル) excelVBAについて。 1 2024/11/25 12:41
このQ&Aを見た人はこんなQ&Aも見ています
-
ruby loopメソッド 変数
Ruby
-
ruby クラス・オブジェクト・インスタンス
Ruby
-
ruby while式
Ruby
-
-
4
ruby raise句
Ruby
-
5
ルビー言語 ライブラリー 追記
Ruby
-
6
Ruby require ライブラリー
Ruby
-
7
HTML &CSSとHTML5&CSS3 違い
HTML・CSS
-
8
Ruby newメソッド
Ruby
-
9
ルビー言語 ライブラリー(再々渇)
Ruby
-
10
ruby 配列
Ruby
-
11
ruby OpenURI::Meta
Ruby
-
12
ファイルとフォルダの移動について。
Excel(エクセル)
-
13
HTML&CSSとHTML5&CSS3の違いについて。
HTML・CSS
-
14
ファイルパスについて。
Excel(エクセル)
-
15
実務の処理について。
Excel(エクセル)
-
16
HTML&CSSとHTML5&CSS3の違いについて。
HTML・CSS
-
17
Ruby 引数
Ruby
-
18
Ruby 格納
Ruby
-
19
ルビー言語 csvファイル part2
Ruby
-
20
ルビー言語 ライブラリー
Ruby
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ルビー言語 csvファイル part2
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ルビー言語 csvファイル 続き(...
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
-
Ruby 格納
-
Ruby 変数 用途と違い
-
パソコンのスクリーンセーバー...
-
ruby 配列
-
ruby クラス・オブジェクト・イ...
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 ライブラリー
-
Ruby 引数
マンスリーランキングこのカテゴリの人気マンスリー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ファイル 続き
-
ルビー言語 ライブラリー
-
パソコンのスクリーンセーバー...
-
ルビー言語 ライブラリー
おすすめ情報
すみません。疑問が3つほどあって、
疑問① a=#{a}の所は、♯は、インスタンスメソッドで、a.newと書き換えられて、変数aに数値が代入されるのでしょうか?
疑問② 再度a=#{a}の所の{a}の{}の意味は、ハッシュという意味で、{a}の意味は、「aの単体版ハッシュ」という意味でしょうか?
疑問③ "begin: a=#{a} b=#{b} c=#{c}\n"の所で、このbeginは、当然begin句とは、別物ですよね?
以上3点について教えて頂けると幸いです。
すみません。疑問が2つほどあって、
質問③の追加質問
"begin: a=#{a} b=#{b} c=#{c}\n"の所は、"a=#{a} b=#{b} c=#{c}\n"と書き換えても良いという事ですね?
質問④「ダブルクオートの中に変数の内容を埋め込みたい」とNo.2の回答で書いてありますが、このケースでは、どうなるのでしょうか?
以上2点について教えて頂けると嬉しいです。