Rubyで簡単なA + Bプログラムを作成したいのですが、コンソールの操作方法がわかりません。
gets
について話しているのですか?
puts "Enter A"
a = gets.chomp
puts "Enter B"
b = gets.chomp
c = a.to_i + b.to_i
puts c
そんな感じ?
Kernel.gets
はARGV
で見つかったパラメーターの読み取りを試み、ARGV
が見つからない場合にのみコンソールに要求します。 ARGV
が空でない場合でもコンソールからの読み取りを強制するには、STDIN.gets
を使用します
コマンドラインからパラメーターを渡すこともできます。コマンドライン引数は、配列ARGVに保存されます。したがって、ARGV [0]は最初の番号であり、ARGV [1]は2番目の番号です
#!/usr/bin/Ruby
first_number = ARGV[0].to_i
second_number = ARGV[1].to_i
puts first_number + second_number
そして、あなたはこのようにそれを呼び出します
% ./plus.rb 5 6
==> 11
ユーザーからの入力を受け取るには多くの方法があります。私は個人的にメソッドを取得するのが好きです。 getsを使用すると、入力したstringを取得し、ENTER入力を終了するために押したキー。
name = gets
"mukesh\n"
これはirb;これを入力すると、Enterキーが生成する「改行」文字である\ nが表示されます。
name = gets
と入力すると、"mukesh\n"
のようなものが表示されます。厄介なnewline文字を使用してchompメソッド。
Chompメソッドは文字列を返しますが、改行は終了しません。美しいムシャムシャ食べる方法の救世主。
name = gets.chomp
"mukesh"
端末を使用して入力を読み取ることもできます。 ARGVは、Objectclass。これはArrayクラスのインスタンスであり、すべての配列メソッドにアクセスできます。配列であるため、定数であっても、その要素を問題なく変更およびクリアできます。デフォルトでは、Rubyは、コマンドラインバイナリが呼び出されたときにRubyプログラム(スペースで分割)に渡されたすべてのコマンドライン引数をキャプチャし、ARGV配列。
Rubyプログラム内に記述されると、ARGVは次のようなコマンドラインコマンドを受け取ります。
test.rb hi my name is mukesh
次のような配列を作成します。
["hi", "my", "name", "is", "mukesh"]
しかし、限られた入力を渡したい場合は、このようなものを使用できます。
test.rb 12 23
プログラムで次のような入力を使用します。
a = ARGV[0]
b = ARGV[1]
ターミナルからの引数を保持する場合は、次のコードを試してください。
A = ARGV[0].to_i
B = ARGV[1].to_i
puts "#{A} + #{B} = #{A + B}"