を呼び出す:は、私はクラスを持っているインスタンスメソッドやクラスメソッド
Class Temp
def Temperature
puts "It's hot"
end
end
私はそれのインスタンスを呼び出すことができます。
mytemp = Temp.new
私はそれにメソッドTemperature
を呼び出すことができます。インスタンスクラスまたはクラスメソッドを呼び出すかどうかを知るにはどうすればよいですか?
を呼び出す:は、私はクラスを持っているインスタンスメソッドやクラスメソッド
Class Temp
def Temperature
puts "It's hot"
end
end
私はそれのインスタンスを呼び出すことができます。
mytemp = Temp.new
私はそれにメソッドTemperature
を呼び出すことができます。インスタンスクラスまたはクラスメソッドを呼び出すかどうかを知るにはどうすればよいですか?
以下のクラスを定義します。私は小文字で始まるメソッドを皆のように定義しました。
class Temp
def temperature
puts "I am instance"
end
def self.temperature
puts "I am class"
end
end
t = Temp.new
t.temperature
- > "私はインスタンス"
Temp.temperature
- > "私はクラス"
t = Temp.new
t.class.temperature
- >「私はクラスだ」
は、それが助け、物事が明確に願っています:)
クラスをインスタンス化するには.new
を呼び出す必要があるため、Temperature
はインスタンスメソッドです。クラスメソッドを定義するには、メソッド名にself
を追加します(def self.Temperature
)。次にクラスをインスタンス化せずに呼び出す:Temp.Temperature
。
インスタンスクラスとは何ですか? – sawa
コードが無効です。 – sawa
*実際の答えはもちろん、Rubyにはクラスメソッドがないということです。 Rubyには、インスタンスメソッドという1種類のメソッドしかありません。 *実際の質問は、*どのクラス*が定義されたメソッドであるか、*あなたがそれらを呼び出すインスタンス*となります。 –