参考リスト
http://railsdoc.com/ruby_base
http://ref.xaio.jp/ruby/classes/array
http://qiita.com/mogulla3/items/46bb876391be07921743#3-w
文法注意点
- ()を省略できる
- 関数の名前の末尾の?「empty?」は慣習
- %や<<などの算術演算子を算術以外に利用 (後述参照)
- シンボルは文字列を数値で表したもの文字列の代わりに利用する
Symbol.all_symbols
1. 変数の種類
変数名 | 説明 |
---|---|
foobar | ローカル変数 |
$foobar | グローバル変数 |
@foobar | インスタンス変数 |
@@foobar | クラス変数 |
FOOBAR | 定数 |
2. 文字列操作
- エスケープ文字は「\」
- toString()は「.to_s」、toInteger()は「.to_i」
- 「"」で囲んだ値は「#{}」内部の変数が展開 例: #{hensu}
- 文字列連結は「+」
- 文字列比較は「==」
- 文字コード変換は「str.encode("UTF-8")」
- 末尾改行とるのは「str.chomp(separator = $/)」
- 空文字かどうかは「empty? :」
- 文字列の長さは「str.length,str.size」
- 文字列のバイト長は「str.bytesize」
3.配列
- 長さを調べるのは「array.length,array.size」
- Indexの要素を取り出すのは「array.at(index)」
- 繰り返し要素を取り出すのは「array.each {|item| block }」
- 空かどうかは「array.empty?」
- デフォルト値付きで要素取り出し
- 並べ替えは「array.sort」
書き方色々
arr = Array.new()
arr = Array.new # 等価
arr = [] # 等価
hoge_0 = [1,2,3]
hoge_1 = [[1,2,3],[4,5,6]]
arr = Array.new(3)
arr = Array.new(3, 1)
animals = ["dog", "cat", "mouse", "rabbit", "horse"]
puts animals.fetch(10, "unknown")
4.Hash
1. 長さを調べるのは「length」
2. 空かどうかは「empty?」
3. 指定したキーの要素を取り出すのは「index」
4. キーが含まれるかは「has_key?」
5. 値が含まれるかは「has_value?」
6. PHPのforeachは「select」や「each」
scores.select {|k, v| v >= 60 }
scores = {}
scores["Alice"] = 80
user = { :name => "test", :email => "test@example.co.jp"}
5.パーセント記法
5.1 $Q ダブルクォートで囲む
下記全て同じ意味
str = "Programming language "Ruby""
str = %(Programming language "Ruby")
str = %Q(Programming language "Ruby")
5.2 %q シングルクォートで囲む
下記同じ意味かつ式展開されない
str = 'Programming language "#{ruby}"'
str = %q(Programming language "#{ruby}")
%W 式展開ありの配列として展開
array = ["one","two","three","four"]
array = %W(one two three four)
%I 要素がシンボルの配列として展開(式展開あり)
array = ["ruby","PYTHON","PHP"]
array = %I(ruby PYTHON PHP)
%x コマンド出力
res = %x(date)
6.変数のInspect
- 変数の中身を文字列で確認するのは「hoge.inspect」
- オブジェクトのメソッド一覧を確認するのは「hoge.methods」
- Step実行をするのは「pry」