Ruby学習記 その1 Ruby入門
Rubyは前から何度か触ったことがあるのですが、
勉強してもあまり使わず身についていないので、今一度勉強しなおし。
気になったところ、多言語と大きく違うところなどを中心にまとめます。
画面への出力
どんなプログラミング言語でも最初に行うのは画面への出力。
Rubyでは基本的な出力用メソッドが3つあるようです。
- puts
- p
printは名前の通り、画面に出力対象のオブジェクトを出力する。
ただし改行などはせず、入力したものがそのまま出力される。
putsはprintと違い、改行を行うタイプの出力。
pは上記2つとは少し異なり、主にデバッグ用に使われる出力。
表示対象のオブジェクトによって出力形式が変わるとのこと。
文字列の扱い
Rubyにおける文字列の扱いですが、基本的には""、もしくは''で囲むと文字列として扱われるのは他の言語と同じ。
""で囲んだ場合はエスケープシーケンスが処理される(\nとか\tとか)。
''で囲んだ場合は、囲まれた中の文字列がそのまま出力される。
ただしバックスラッシュそのものとシングルクォーテーションは\\,\'のようにしないといけない。
いろいろな文字列の出力のしかた
print "output test."
のような書き方が基本ですが、
print "output ", "test."
のような書き方もできる。
変数を出力する際の方法は大きく分けて二通り。
print "str1 is ", str1, "."
のように","で繋げる方法。わかりやすい。
もう一つの方法として、
print "str1 is #{str1}."
のような書き方もある。なれたらこっちの方が直感的かもしれない。
条件分岐
if ~ then, else
基本形は以下。
if int1 == 1 then 任意の処理 else 任意の処理2 end
thenは省略可能らしく、
if int1 == 1 任意の処理 else 任意の処理2 end
とも書ける。then無しのほうが多言語のif文に近い…?
while
基本形は以下。
while i < 10 do 任意の反復処理 end
doは省略可能。このdoは無い方がわかりやすい気もするが好みか。
times
あまり馴染みのない反復処理の書き方だが、簡易forみたいなものだろうか。
基本系は以下。
10.times do 任意の反復処理 end
繰り返し回数が決まっている場合はこれ。
もちろん繰り返し回数の指定部分は変数にもできる。
なお、doは省略不可。
コメント
コメントの書き方は重要なので絶対に押さえておく。
# test comment i = 10 =begin area comment test. =end puts i
#を使うと、その行の#以降がコメントとして扱われる。
また、範囲コメントは=beginと=endで囲む。
なお、範囲コメントの=beginと=endは両方とも行頭になくてはならず、
行中の一部だけをコメントアウトするようなことはできないらしい。