Open11
自分用Rubyメモ(理解があやふやなところ、毎回忘れるところ)
メソッドの引数としてハッシュを渡す場合は、ハッシュの波括弧は省略できる
# メソッド定義
def test_method(hash_variable)
hash_variable.each do |key, value|
puts "key : #{key}"
puts "value : #{value}"
end
end
# メソッド呼び出し
a = {first: 1, second: 2}
test_method(first: 1, second: 2)
# 実行結果
key : first
value : 1
key : second
value : 2
ハッシュの表現方法3パターン
{"first" => 1, "second" => 2}
{:first => 1, :second => 2}
{first: 1, second: 2}
selfの扱いについて
よく使う繰り返し構文まとめ
演算子の正体
- Rubyでは、ほとんどの演算子はメソッドのシンタックスシュガーとなっている
# 以下の加算演算子(+)は、Integerオブジェクトのインスタンスメソッドのシンタックスシュガーである
irb> 1 + 2
=> 3
irb> 1.+(2)
=>
=>3
- ただし例外として、以下の演算子はメソッドのシンタックスシュガーではない
=, .., ..., not, &&, and, ||, or, ::
参考
クラスメソッドの定義
- 個人的にはパターン1か3のやり方がいいかも
- パターン1 : メソッド名の前にselfをつけるやり方
class Hoge
def self.nantoka
end
end
- パターン2:selfではなくクラス名を指定するやり方
class Hoge
def Hoge.nantoka
end
end
- パターン3:class << self〜endで囲むやり方
class Hoge
class << self
def nantoka
end
end
end