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

  • CaptainDisillusion

    CaptainDisil

    18 EYLÜL 2007
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • StalkerJS

    StalkerJS

    15 HAZİRAN 2010