::
とか、.
とかよくお見かけします。
これはメソッドの呼び出しの違いで、表記が変わるという種明かしなんです。
#ドット記法
class User
def method
puts "Hello"
end
end
> user = User.new
> user.method
Hello
=> nil
#コロン記法
class User
def method
puts "Welcome"
end
end
> user = User.new
> user::method
Welcome
=> nil
###ドット記法とコロン記法の違い
ドット記法とコロン記法の違いは、定数を呼び出せる
かどうか。
記法 | メソッドの呼び出し | 定数の呼び出し |
---|---|---|
ドット記法 | ○ | × |
コロン記法 | ○ | ○ |
###Rubyでは、クラスやモジュールも定数として扱われる。
require 'uri'
require 'net/http'
url = URI.parse("http://yahoo.co.jp")
http = Net::HTTP.start(url.host, url.port)
> document = http.get(url.path)
> puts document.body
# ドキュメントを表示
#まとめ
このようにコロン記法だと、指定した別ファイルのクラス内やモジュール内のアイテムにアクセスすることができる。