!Mac OS X-10.15.7 !ruby-2.6.1p33
はじめに
本記事ではマルチスケールシミュレーション第5回授業Rubyの入出力について扱います。
目次
そもそもRubyとは
Rubyを実際に触れる前に、Rubyという言語がどういった経緯で生まれ、どんな特徴を持った言語なのかを調べてみた(Wikipedia)。
Ruby誕生の経緯
Ruby(ルビー)は、まつもとゆきひろ(通称: Matz)により開発されたオブジェクト指向スクリプト言語。名称の Ruby は、プログラミング言語 Perl が6月の誕生石である Pearl(真珠)と同じ発音をし、「Perlに続く」という意味で、6月の次の誕生石(7月)のルビーから名付けられた。
Wikipediaより引用
Rubyの入出力
様々な出力方法
Rubyには様々な出力方法がある(らしい)。
Rubyを授業で扱い出してから、まだ挨拶(HelloWorld)ができていなかったので、
手始めにいくつかの出力方法を挨拶がわりに試してみます。
(出力結果は、コメントアウト部分)
puts 'hello world by.puts'
# hello world by.puts
p 'hello world by.p'
# "hello world by.p"
pp 'hello world by.pp'
# "hello world by.pp"
print 'hello world by.print'
# hello world by.print%
↓ まとめ ↓
出力 | 改行 | 説明・予想 |
---|---|---|
puts | ○ | 通常?の出力。個人的にお気に入り。 |
p | ○ | ""で囲まれて出力。今後確認していきたいが、デバッグ用っぽい。 |
pp | ○ | ""で囲まれて出力。pとの差異がわからないが、pの進化系らしい。 |
× | 他言語でもよく見るやつ。putsとの差異は改行の有無だと思われる。 |
様々な出力方法があって使い分けが必要になりそう。。。
様々な入力方法
出力については色々と試してみたので、次は入力を見てみましょう
まずはよくある入力、getsを使ってみます
print '名前入力してね >>>>> '
name = gets
puts "Hello " + name
↓ 出力結果 ↓
$ ruby get_name.rb
名前入力してね >>>>> Rooter
Hello Rooter
こんな感じ。。。
しかし、今回はコマンドライン操作も授業目的の一つであるため、
gets は使わず、コマンドライン引数的な入力方法を用います。
というわけで、今回は ARGV[0] について勉強していきます。
ARGV[0]
ARGV[0]とは、引数(argument)配列の 0番目 を表しています。
puts "Hello #{ARGV[0]}. by.puts"
print "Hello #{ARGV[0]}. by.print \n"
print "Hello " + ARGV[0] + ". by.print-ver2 \n"
↓ 出力結果 ↓
$ ruby hello_name.rb Rooter
Hello Rooter. by.puts
Hello Rooter. by.print
Hello Rooter. by.print-ver2
出力先の指定
ruby hello_name.rb Rooter > hello_name.txt
↓ 確認 ↓
$ cat hello_name.txt
Hello Rooter. by.puts
Hello Rooter. by.print
Hello Rooter. by.print-ver2
まとめ
今までなぜか触ってこなかったRubyに授業内だが触れることができた。所々他言語と違う部分があって、難しい。
参考
以下のサイトを参考にしました。
- source ~/grad_members_20f/members/Rooter-edi/qiita/week5.org