LoginSignup
6
3

More than 3 years have passed since last update.

【Rails】ドット(.)とか、コロン(:)とは一体

Posted at

::とか、.とかよくお見かけします。
これはメソッドの呼び出しの違いで、表記が変わるという種明かしなんです。

ドット記法

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
# ドキュメントを表示

まとめ

このようにコロン記法だと、指定した別ファイルのクラス内やモジュール内のアイテムにアクセスすることができる。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3