Sınıf ruby ve Klass arasındaki fark nedir?
Sınıf ve Klass arasındaki fark nedir?
CEVAP
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.
Arayüz ve soyut sınıf arasındaki fark ...
Sınıf ve örnek yöntemleri arasındaki f...
Ve Ruby dahil ihtiyaç arasındaki fark ...
Arasındaki fark vardır ve genişletmek ...
Scala'nın durumu, sınıf ve sınıf ...