rubyまとめ
ruby(rails)をさわる機会が出来たので,こちらのページを参考に調べてみました.rubylearning.com summary 3までです.それ以後はまだ読めていません.
インデント
タブはスペース2個分
メソッド呼び出し
次のようなメソッドの呼び出しが,許されている.
|
|
すべてがオブジェクト
integerやstringなどすべてオブジェクトである.しかし,putsやgetsなどのいくつかのメソッドはどこでも使用出来る.それは,これらのメソッドは,rubyカーネルモジュールに含まれているからである.rubyカーネルモジュールは,全てのクラスから参照できるメソッドを定義しているモジュールであり,objectクラスはこのモジュールをインクルードしている.
コメント
#から始まる一行,または=beginと=endで挟んだ行をコメントとする.
真偽
予約語であるfalseやnilのみが偽であり,zeroやnull string,null characterやその他のものはすべて真である.
インクリメント,デクリメント
++や–で表させるインクリメントや,デクリメントは利用出来ない.+=や-=は利用できる.
糖衣構文(シンタックスシュガー)
演算子に見えるものは,すべてメソッド呼び出しである.
コマンド実行
バックチックで囲むと,そのコマンドが実行される.その後,putsメソッドによりコマンドの結果(この場合,ファイルの一覧)が出力される.
|
|
もう一つの方法は,カーネルメソッドのsystemを使うことである.返値は,コマンドが見つかり,適切に実行されるとtrue,コマンドが0以外で終了すればfalse,コマンドが実行できなければnilである.ただし,system内のコマンドの出力先は,rubyのプログラムの出力先と同じである.
|
|
変数,定数
$から始まるとグローバル変数,小文字またはアンダースコアで始まるとローカル変数である.トップレベル自体が,ローカルスコープを持つ.全てのモジュール,クラス,メソッドの定義がローカルスコープを持つ.@から始まるとインスタンス変数であり,@@から始まるとクラス変数である.大文字から始まると定数である.
コンソール入力
コンソール入力には,putsとchompが便利.STDOUTはプログラムの実際の出力機構である.flushでバッファに溜まっているのを吐き出す.この使い方が推奨されている.getsで一行分のデータを読み込み,chompにより改行コードを除く.
|
|
Bang(!)メソッド
sort/sort!,upcase/upcase! ,chomp/chomp!,reverse/reverse!などで!がついているものは同じオブジェクトに対して操作を行い同じオブジェクトを返す.!が付いていないものは新しくオブジェクトを作ってそれを返す.
文字列の比較
文字列の比較には==,String.eql?,String.equal?の三種類がある.==とString.eql?は中身の文字列が同じかどうかの比較を行う.String.equal?はオブジェクトが同じかどうかの比較をおこなう.
%wの利用
単語の配列を作るとき,%wというショートカットがある.
|
|
while
よくあるwhile文です.
|
|
三項演算子
これもよくある三項演算子です.
|
|
case文
|
|
nilについて
rubyでは,nilは実際のオブジェクトであり,他のオブジェクトのようにメソッドを呼び出したり,追加したり出来る.また,falseとnilは違うオブジェクトである.
|
|
参考: rubylearning.com - “http://rubylearning.com/satishtalim/tutorial.html”