5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

puts

Last updated at Posted at 2020-12-29

puts hello_world

まずは Hello world. と出力する. puts_hello_world.rb を作成する.

Hello world.

出力の仕方

rubyで文字列を出力する方法はいくつかある.

method 使用状況
print 普通に使う.要改行
puts printの次に使う. 自動改行    
p codingの最中にdebugがわりに打ち出すとき
pp pのpretty print, require 'pp'が必要
printf Cである.    

まずはこの5つをマスターする.

解法

まずは single-quotation (') で囲って,

puts 'Hello world.'

と puts_hello_world.rb に打ち込む.そして

> ruby puts_hello_world.rb

として出力を確認する.

Hello world.

と出力される.

類題

p, pp 等の出力方法の出力の違いを考察

code 出力結果    
puts 'Hello world.' Hello world.     
p 'Hello world.' "Hello world."
pp 'Hello world.' "Hello world."
print 'Hello world.' Hello world.

puts は print とは違い、自動で改行される.p と pp は文字列の前後に " " がつく.

ARGV

お題

> ruby hello_name.rb Rudy

と打ち込んで,

Hello Rudy.

と返ってくるcodeを書く.

まず, hello_name.rb に

puts ARGV[0]

と打ち込んで,

> ruby hello_name.rb Rudy

とすると

Rudy

と出力される.

つまり, ARGV[0]というのは引数(argument)配列の0番目を意味しています.

解法

次に"Hello Rudy."と出力させる.先程の hello_name.rb を書き換える.

puts "Hello #{ARGV[0]}"

とすると

Hello Rudy.

と出力される.もし

> ruby hello_name.rb

のように引数無しにすると

Hello .

と出力される.

この他にもいくつかの出力方法がある.

puts puts "Hello " + ARGV[0]
puts puts "Hello #{ARGV[0]}"
print print "Hello #{ARGV[0]}\n"
print print "Hello " + ARGV[0] + "\n"

Cからの人は,printfもありだが,

printf("Hello %s.\n", ARGV[0])

とすると他の出力と比べて記述が長くなる.

類題

"Hello Rudy."をどこかへ保存する方法

ruby hello_name.rb Masaki > hello_name.txt

とすると hello_name.txt に

Hello Masaki.

が保存される.

hello_name.txt の中身を見たい場合は

> cat hello_name.txt

とする.

参考ページ

チャート式ruby-Ⅰ (puts)


  • source ~/grad_members_20f/members/djj31370/c1_puts.org
5
2
0

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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?