暫くrubyの勉強をすることにしました。インターネットで検索すると色々な情報が出てきますが、私は本を読みながら手を動かして覚えるのが好きなので、そのスタイルで行います。
選んだ本は、Ruby for Rails: Ruby Techniques for Rails Developers
本屋でちらちらっと眺めて、解りやすかったので。
プログラムの実行の仕方
エディタで、以下の一行を書いてhello.rbとして保存します。
print "Hello!!?n"
(rubyがインストールされているとして)rubyコマンドで実行します
$ ruby hello.rb Hello!!
プログラムの先頭行にrubyのパスを記入して、ファイルの属性を実行可能にすれば
直接実行出来ます。
#!/usr/local/bin/ruby print "Hello!!?n"
実行
$./hello.rb Hello!!
rubyのコメントは、#です。
標準出力
putsとprintがあります。違いは、最後に改行コードを追加するかしないか。
c = 100 f = (c * 9 /5) + 32 puts "The result is: " puts f puts "."
実行すると
The result is: 212 .
改行させたくないところは、printを使いましょう
c = 100 f = (c * 9 /5) + 32 print "The result is " print f puts "."
実行すると
The result is 212.
printだけを使いたければ、改行コード?nを使います。
標準入力
実際のところ、キーボードからの入力を受けるプログラムを作る機会は少ないと思いますが、基本ということで押さえておきましょう。
print "Please enter a Celsius value: " c = gets f = (c * 9 /5) + 32 print "The result is " print f puts "."
ファイルの入出力
File関数を使います。
書き込みの時は、ファイルハンドラを作っています。
num = File.read("input.txt") c = num.to_i f = (c * 9 /5) + 32 fh = File.new("output.txt","w") fh.puts f fh.close
型変換
文字列型から数値型へ。(.to_i)
数値型から文字列型へ。(.to_s)
微妙にJavaっぽいです。StringクラスとIntegerクラス
x = "100" #文字列型です puts x.to_i + 32 #数値型に変換して足し算して出力 132
数値に変換出来ないのは、0になるので注意してください
x = "a" puts x.to_i + 32 32
.to_i()に引数を与えることによって、n進数で計算します。
x = "100" puts x.to_i(2) #2進数 puts x.to_i(8) #8進数 puts x.to_i(10) #10進数(デフォルト) puts x.to_i(16) #16進数 4 64 100 256