Document_Links
Rubyのお勉強<入出力編>
出力編
とりあえず,出力させますか.
まぁ,おなじみ"print("Hello World")"ですか?
print.rb
print("Hello World")
実行結果
$ ruby print.rb
Hello World$
改行されない...
調べると,Rubyの出力方法はいろいろある.
method | |
---|---|
引数に指定した値を出力 | |
puts | 引数に指定した値を出力(自動改行) |
p | 値と共に型情報を出力(debugに使える) |
printf | 書式を指定して出力(Cと同じ) |
他にも,"pp"とか"sprintf"とかあるみたい.
"puts"を試してみる.
puts_hello_world.rb
puts "hello world"
実行結果
$ ruby puts.rb
Hello World
$
改行されている.
調べていると,
print "Hello World"
puts "Hello World"
と全員書いている...,python2系の書き方でも大丈夫みたい(むしろそっちが主流?).
入力編
次は入力編です.
入力方法を調べてみる.
method | |
---|---|
ARGV[引数番号] | ruby code.rb 引数 |
gets() | キーボードから取得(文字列) |
gets.to_i() | キーボードから取得(整数) |
gets.to_f() | キーボードから取得(浮動小数点) |
"gets()"は丸括弧あってもなくても大丈夫
実際に使ってみる.
- ARGV[]
ARGV.rb
puts "Hello #{ARGV[0]}"
print "#{ARGV[1]}#{ARGV[2]}\n"
実行結果
$ ruby ARGV.rb World 今日は 水曜日
Hello World
今日は水曜日
- gets()
gets.rb
moji = gets()
puts "moji:#{moji}"
実行結果
$ ruby gets.rb
Hello World
moji:Hello World
ちなみにARGV[]とgets()の併用は駄目みたい
*コメントで指摘をいただいた.
- gets()に引数を指定すると標準入力からの文字列取得ではなくなる
併用が原因ではない
ARGV[]とgets()を併用したいなら,
ARGV_gets.rb
puts "Hello #{ARGV[0]}"
moji = STDIN.gets()
puts "moji:#{moji}"
出力をtxtなどに保存したい場合
$ ruby gets.rb > out.txt
Hello World
$ cat code.txt
Hello World
締め
基礎の入出力についてお勉強.
- source ~/school/multi/my_ruby/grad_members_20f/members/evendemiaire/post/ruby_put.org