LoginSignup
9
0

More than 3 years have passed since last update.

Rubyのお勉強<入出力編>

Last updated at Posted at 2020-11-18

Document Links

Rubyのお勉強<入出力編>

出力編

とりあえず,出力させますか.

まぁ,おなじみ"print("Hello World")"ですか?

print.rb
print("Hello World")

実行結果

$ ruby print.rb
Hello World$

改行されない...

調べると,Rubyの出力方法はいろいろある.

method
print 引数に指定した値を出力
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

締め

基礎の入出力についてお勉強.

次回,変数とかmethodについて


  • source ~/school/multi/my_ruby/grad_members_20f/members/evendemiaire/post/ruby_put.org
9
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0