-1

なぜ設定できないのかvar = Class?なぜ設定する必要があるvar = Class.new?のか​​配列、ハッシュ、文字列の変数を、var = [], {},またはで設定できます"some_string"。クラスはそれを違うものにする特定のことをしていますか?

class Word
    def palindrome(string)
        string == string.reverse
    end
end

w = Word.new

puts w.palindrome("racecar")
4

1 に答える 1

2

実際には、特別なケースが逆になっています。

  • []の省略形ですArray.new
  • {}の省略形ですHash.new
  • ""は(の省略形です。String.new構文構造(、、、など)なしで文字列を指定する方法がない"ため'です%

を行うことはできますがvar = Klass、それはに割り当てvarられますが、オブジェクトのメソッドを呼び出します(他のメソッド呼び出しと同じように、特別なことは何もありません)。これにより、クラスの新しいKlassインスタンスが返されます。Klass.newnewKlassKlass

注:混乱を減らすためにClass、質問の中でKlass(を介して定義class Klass; end)に置き換えました。インスタンスについて話すClassClass、ここでは気にしないと思われる多くのメタネスが導入され、単にClass表現することを意図しているためです。任意のクラス。

于 2013-02-15T04:29:18.027 に答える