SORU
28 Kasım 2010, Pazar


Sınıf ruby ve Klass arasındaki fark nedir?

Sınıf ve Klass arasındaki fark nedir?

CEVAP
28 Kasım 2010, Pazar


class bir anahtar kelime yeni bir sınıf tanımlamak için kullanılır. Ayrılmış bir anahtar kelime olduğu için, bir değişken adı olarak kullanmak mümkün değil. Sen bir insan değilsin herhangi Ruby anahtar kelimeler gibi değişken adları, yani mümkün olmayacaktır var adlı değişkenler def module if end, vb - class Hiç farkı yok.

Örneğin, aşağıdakileri göz önünde bulundurun:

def show_methods(class)
  puts Object.const_get(class).methods.inspect
end
show_methods "Kernel"

Bu çalıştırmak için çalışırken bir değişken adı olarak class yapamadığımızdan bir hata olur.

test.rb:1: syntax error, unexpected kCLASS, expecting ')'
    def show_methods(class)
                          ^
test.rb:2: syntax error, unexpected ')'
      puts Object.const_get(class).methods.inspect

Bunu düzeltmek için, tanımlayıcı klass yerine kullanacağız. Özel bir şey değil, ama geleneksel bir sınıf veya bir sınıf adı ile uğraşırken bir değişken adı olarak kullanılıyor. Aynı fonetik, ama ayrılmış bir anahtar sözcük olmadığına göre, Ruby ile hiçbir sorunları vardır.

def show_methods(klass)
  puts Object.const_get(klass).methods.inspect
end

show_methods "Kernel"

Beklendiği gibi çıktı

["method", "inspect", "name", "public_class_method", "chop!"...

Herhangi bir kullanabilirsiniz (non-ayrılmış) değişken adı var, ama toplum klass kullanarak almıştır. Herhangi özel bir büyü yok - bu sadece "adını kullanmak istedim '' burada, ama yapamam, yana ayrılmış bir anahtar sözcük. sınıf

Yanlış birkaç kez yazdı beri yandan, Ruby, davanın önemli olduğunu belirtmekte yarar var. Büyük harfle başlayan belirteçleri sabitler. Pickaxe:)

Sürekli bir isim, büyük harf adı karakter tarafından takip ile başlar. İsimler ve modül adları sınıf sabitler ve sabit adlandırma kuralları izleyin. Kural olarak, sürekli değişkenler normal büyük harfler kullanarak yazılmış ve boyunca altını çiziyor.

Böylece, doğru yazım class Class Klass yerine klass. İkincisi sabitler olacak hem Class Klass geçerli sabit isimler ama netlik amaçlar için onları kullanarak karşı tavsiye ederim.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Booredatwork.com

    Booredatwork

    5 Ocak 2009
  • happyjpy

    happyjpy

    22 AĞUSTOS 2009
  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006