!Mac OS X-10.15.7 !ruby-2.7.1p83$
hello worldの前に
授業のページに飛びます
puts hello_world
お題
Hello world.
と出力するプログラムを作る.
rubyでStringsを打ち出す方法
どれを使ってもいい.
method | 使用状況 |
---|---|
普通に使う.要改行 | |
puts | 次に普通に使う. 自動改行 |
p | codingの最中にdebugがわりに打ち出すとき |
pp | pのpretty print, require 'pp'が必要 |
printf | cのがあります.formatを整えるときに便利 |
そのほかにもいくつかあるらしい
Stringはシングルコーテーション'で囲う方法とダブルで囲う方法の二種類がある.シングルは中身をいじらないとき,ダブル"はいじるときにつかう.
詳しい解法
まずはシングルで囲う
puts 'hello world'
を試す.
> mkdir codes
> cd codes
> emacs puts_hello_world.rb
上記のコマンドを入力してディレクトリの作成とファイルの作成.emacsを開いてhello worldのコードを入力.c-x c-sでsaveしたらc-zで一時中断する.
> ruby puts_hello_world.rb
として実行すると
hello world
ちゃんと出力されている.
類題
pとかprintとかも試す.
print 'hello world'
p 'hello world'
pp 'hello world'
pとppは見た目に違いがない…printは改行せずに文字列が出力される.
getsなんだけど,ARGV[0]でやる
お題
> ruby hello_name.rb Rudy
上記のコマンドで実行したときに
Hello Rudy.
と出力されるようにする.
解説
putsしたら普通はgetsだが,目的の一つであるshell環境ではcommand line interfaceで作業をするためにARGV[0]というのを使うらしい.
puts ARGV[0]
とhello_name.rbに入力.
> ruby hello_name.rb Rudy
とコマンドすると…
> Rudy
ARGV[0]というのは引数(argument)配列の0番目を意味している.
次に"Hello Rudy."と打ち出させることを考える.これをするにはいくつか方法がある.(下記参考)
puts | puts "Hello " + ARGV[0] |
---|---|
puts | puts "Hello #{ARGV[0]}" |
print "Hello #{ARGV[0]}\n" | |
print "Hello " + ARGV[0] + "\n" |
Cからの人は,printfもありらしい.実際に実行してないけど…
printf("Hello %s.\n", ARGV[0])
解法
hello_name.rbを以下のように書き換える.
puts "Hello #{ARGV[0]}"
そのあとに以下のコマンドで実行
> ruby hello_name.rb Rudy
以下のように出てたらオッケー
hello Ruby
類題
"Hello Rudy"というのをどこかへ保存することを考える.
ruby hello_name.rb bob > hello_name.txt
とコマンド入力すると,hello_name.txtに出力結果が保存される.
> cat hello_name.txt
で中身をcat(con-cat-inate)できる.
Hello bob
- source ~/grad_members_20f/members/okamoto0910/article/c5.org