読者です 読者をやめる 読者になる 読者になる

memo-pad’s blog

自分のためのメモをまとめています。ここに書いてある内容については責任は負いません。全て自己責任でお願いします。

rubyの勉強始めました

プログラミング ruby

個人的に気になった特徴

  • 末尾にセミコロン(;)が不要

文字出力(print, puts, p)

  • Objectを文字列として出力する
    • print
    • puts
      • 改行が付与される
    • p
      • デバッグ用に使われる
      • オブジェクトの形式を含め表示

# コード
array = ['test1','test2','test3']

print array
puts array
p array

# 出力結果
test1test2test3test1
test2
test3
["test1", "test2", "test3"]
  • 上記のようにputsでは配列の要素1つ1つに対して改行が付与されていることがわかる
    • ハッシュに対しては特に要素毎の改行はされなかった

配列

定義

array = ['test1','test2','test3']

# コード
array = ['test1','test2','test3']
p array[0]     # 0番目、つまりtest1
p array[-1]    # 後ろから1番目、つまりtest3
## 要素の呼び出しは範囲でも可能
p array[0..2]  # 0から2まで
p array[0...2] # 0から1まで(2を含まない)

# 出力結果
"test1"
"test3"
["test1", "test2", "test3"]
["test1", "test2"]

ハッシュ

定義

hash = {"test1" => 10, "test2" => 20, "test3" => 30}

キーにシンボルというものを使って、下記のように表記することも可能(文字列キーよりアクセスが早い)

hash_symbol = {:test1 => 10, :test2 => 20, :test3 => 30}

また、シンボルは次の様に省略して記述可能(ruby1.9からサポート)

hash_symbol2 = {test1: 10, test2: 20, test3: 30}

# code
hash = {"test1" => 10, "test2" => 20, "test3" => 30}
p hash
hash_symbol = {:test1 => 10, :test2 => 20, :test3 => 30}
p hash_symbol
hash_symbol2 = {test1: 10, test2: 20, test3: 30}
p hash_symbol2

# 出力結果
{"test1"=>10, "test2"=>20, "test3"=>30}
{:test1=>10, :test2=>20, :test3=>30}
{:test1=>10, :test2=>20, :test3=>30}
  • ruby2.2.4でpで出力すると省略して記述したものも、通常のシンボルでの表記で出力された