Ruby 自己学習メモ1
備忘録としていろいろ残しておく。
自分用メモなので分かりづらいかと思いますが、そこはご容赦願いますw
Rubyの変数について
Rubyは型宣言が必須のJavaと違って、宣言せずそのまま変数を代入することができる。
Rubyの変数はいくつかの種類があり、変数名の先頭1文字目の文字種によって種類が決定される。
変数は小文字のアルファベット or "_"が最初に来る名前の変数のみが使え、
その他はエラーとなり使えないってこと。
#!/usr/bin/ruby box1 = "変数1です" puts box1 # OK # 変数1です 123box = "変数123です" puts 123box # NG # syntax error, unexpected tIDENTIFIER, expecting keyword_end
Ifによる条件分岐
他のプログラミング言語と同じようにRubyもIfによる条件分岐が用意されているとのこと。てか当然ですよね。
flg = TRUE if flg then print "flgはtrueです" else print "flgはtrueではありません" end
trueという値はRubyにおける代表的な真の値なので処理が実行される。
Rubyにおける真の値は、「false」と「nil」以外のすべてになります。
このような条件分岐を使ったtrueやfalseのことを擬似変数と呼ぶ。
さらに細かく条件を指定したい時は…
rank = 2 teamName = "オリックス" if rank == 1 then print "#{teamName}は首位です" elsif rank <= 3 then print "#{teamName}はAクラスです" else print "#{teamName}はBクラスです" end
繰り返し処理
Rubyは「for」文や「while」など様々な繰り返し処理があるが、ここは使用頻度が高そうなものを挙げておく。
以下はHelloを5回繰り返して出力する場合です。
while文
num = 0 while num < 5 do puts "Hello" num +=1 end
PHPやJavaみたいにある変数の値に1を加えるというインクリメント演算子ってRubyはないんですよね…
代わりに「num += 1」みたいな書き方ができる。要するに「num = num + 1」と同じ処理ができるってこと。
for文
num = 0 for num in 1..5 do puts "Hello" end
times文
5.times do puts "Hello" end
whileと比べるとこっちのほうがすっきりしてて、可読性も良いですね。
予め繰り返し回数が分かっている場合はtimesを使うなど状況に応じて使い分けたほうが良さそうですね。
さらにeachも存在する。
each文
set = ["オリックス", "ソフトバンク", "楽天", "西武", "ロッテ", "日本ハム"] set.each do |output| puts "output end
出力結果
また、each文で何番目とか確認したい場合は、each.with_indexを使うと良い。
iの初期値は0から始まります。
set.each.with_index(1) do |output, i| puts "#{i}番目は#{output}です" end
出力結果
1番目はオリックスです
2番目はソフトバンクです
3番目は楽天です
4番目は西武です
5番目はロッテです
6番目は日本ハムです