2015.05.12
【Ruby】基本的な使い方をまとめる
すごく文法は特殊ですね。
いろいろ触ってみた感じ的にはPHPに近い。
変数宣言がなかったり、インタプリタ的なところはそっくり
だけどカッコで囲わなくてendとかで締めたり
最後にセミコロンも付けないのでなれるのは苦労します。
変数は大体こんな感じ
#ローカル変数 a = 0 b = "abc" #グローバル変数 $g = 0
変数は何も宣言もなく利用可能。
スコープ範囲については他の言語と同じみたい。
$をつけるとグローバル変数になる。
困ったときには重宝する。
型についてはそれなりに厳密みたい。
文字列と数字の足し算は不可能だったりと
変数に型があるらしくちゃんと型を合わせて計算しないといけない。
色々とあるらしいけど自分はputsをメインで使っている。
puts "値:#{abc}"
#{}で変数を囲むと置換してくる。
コメントはこんな感じらしい。
#1行コメント =begin 複数行コメント =end
インタプリタなので実行されなければいいので
if文で強制的に実行できなくするのもありかもしれない。
よく使う分岐はこんな所でしょうか。
#if文 if a == 0 then #なにか elsif a == 1 then #なにか else #なにか endif #for文 for n in ary do #なにか end #while文 while a == 0 do #なにか end #swich文 case val when 0 then #なにか else #なにか end
この辺りからRubyの本気が出てくる。
文法については大体見ればわかると思うので変わったところをまとめておく。
for文はforeachのようなことしか出来ないらしい。
C言語特有の for( i = 0; i < 10; i++ ) の文法がないらしいので苦労しました。
上記の様な物を書くのであれば以下のようになる。
for n in 0..9 do #なにか end
自分もいかんせんまだ慣れていない。
switchもといcase文は値に文字列は指定できなさそう。
こういう部分は不便ですね。
例外はこんな感じ。
begin #主処理 rescue SQLite3::SQLException => e #例外時処理 end
javaなどのtry catchと同じ物。
rescueに対象例外を描いてフックする感じになる。
def kannsuu( arg ) #内容 end
defとすると関数らしい。
あとはPHPと同じノリになる。
クラスの作り方は以下のようになるみたい
class test < keisyou @param = 0 #クラス変数 @@static = 10 #スタティック変数 #コンストラクタ def initialize() end end
@を前につけると各クラスが持つ変数になる。
@@だとクラスがもつ変数になる。
内部でinitialize関数を作るとコンストラクタになる。
この中に関数を作るとメソッドになる。
Rubyは日本人が作ったものらしいので
標準の文字コードは「シフトJIS」らしい。
なのでUTF-8でソースを書くとコメントでエラーになったりする。
UTF-8でソースを書く場合はソースの先頭に以下の物を描いておけばいいらしい。
#! ruby -Ku
まだ山ほどあるけどこれだけ知っていれば
rubyを触ることはできるはず。
文法は他言語と違って特殊ですが
慣れればどのプログラムも動きは同じなので
さっさと慣れて扱っていくのがベストな気がします。
関連記事