ことはじめ

実験したり勉強したり。

Rubyことはじめ3

前回ProgateでRubyを学んで大まかに理解できたのは良かったけど、実務でのコードでは「???」となることが多かったのでこれは基礎を叩き込むしかないとおもい、パーフェクトRubyを購入してしまった。

改訂2版 パーフェクトRuby

改訂2版 パーフェクトRuby

2章の感想

わかったこと

ダブルクォートを用いた文字列の中には、#{...}を埋め込むことができる

name = 'foo'
p 'Hello #{name}' # => "Hello \#{name}"
p "Hello #{name}" # => "Hello foo"

グローバル変数$からはじまる 定数は大文字からはじまる インスタンス変数は@からはじまる クラス変数は@@からはじまる

$hoge  # グローバル変数
Hoge   # 定数
@hoge  # インスタンス変数
@@hoge # クラス変数

モジュールについては要復習(namespaceなイメージしかわからなかった)

module Hoge
  class Fuga
    def poo
      p 'hoge huga'
    end
  end
end

module Hage
  class Fuga
    def poo
      p 'hage huga'
    end
  end
end

p1 = Hoge::Fuga.new
p2 = Hage::Fuga.new

p1.poo # "Hoge Fuga"
p2.poo # "Hage Fuga"

Setterメソッドは末尾にイコールをつける

def length=(val)
  @length = val
end

というか、attr_accessorをつければgetter, setterを一気に実装できる

attr_accessor :length

要復習のもの

  • Proc
  • symbol