Rubyでコロンが2つ使われる意味

2019年11月15日

本稿ではRubyで:(コロン)が2つ使われる::(ダブルコロン)の意味を説明致します。

 

メソッドや定数を呼び出す場合の::(ダブルコロン)

下記の例ではConstantクラスのDEVICE_CODEを呼び出すために::を使っています。

if constant.sample_code == Constant::DEVICE_CODE
    puts "Sample"
end

 

絶対パス指定する場合の::(ダブルコロン)

下記の例では絶対パス指定した際に一番上の階層に存在するFooを指定しています。

class Foo; end 
module MyNameSpace
class Foo;end
def foo1 
    ::Foo.new # 一番上のFoo
end
def foo2
    Foo.new # MyNameSpace::Foo
end
end

 

親クラスを周知してくれる場合の::(ダブルコロン)

下記の例ではBaseクラスがActiveRecordの親クラスであることを示すために::を使っています。

class Customer < ActiveRecord::Base