SORU
15 AĞUSTOS 2008, Cuma


Ruby'de farklı parantez ne demek?

Ruby, {} [] arasındaki fark nedir?

{} kod blokları ve karma için kullanılmış gibi görünüyor.

Sadece diziler için []?

Bu belgeler çok net değil.

CEVAP
17 AĞUSTOS 2008, Pazar


İçeriğe bağlı:

  1. Kendi başlarına, ya da bir değişkene atayarak [] diziler oluşturur ve {} karma oluşturur. örneğin

    a = [1,2,3] # an array
    b = {1 => 2} # a hash
    
  2. [] geçersiz kılınabilir gibi bir özel yöntem, ve genellikle kullanılan getirme şeyler sağlamalarının (standart kütüphane kurar [] gibi bir yöntem sağlamalarının uygun olarak fetch)
    Ayrıca C static Create bir yöntemi kullanabilirsiniz aynı şekilde sınıf yöntemi olarak kullanılan bir kongre var# ya da Java. örneğin

    a = {1 => 2} # create a hash for example
    puts a[1] # same as a.fetch(1), will print 2
    
    Hash[1,2,3,4] # this is a custom class method which creates a new hash
    

    Ruby son örneğin Hash docs bkz.

  3. Bu muhtemelen en zor olanı - {} da bloklar için sözdizimi, ama bir yönteme geçirilen sadece DIŞARIDAN bağımsız parens.

    Sen parens olmadan yöntemlerini çağırdığınızda, Ruby virgül tartışmalara son nerede anlamaya koymak nerede parens bunları yazmış olsaydın olurdu) görünüyor

    1.upto(2) { puts 'hello' } # it's a block
    1.upto 2 { puts 'hello' } # syntax error, ruby can't figure out where the function args end
    1.upto 2, { puts 'hello' } # the comma means "argument", so ruby sees it as a hash - this won't work because puts 'hello' isn't a valid hash
    

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Helder Barreto

    Helder Barre

    22 Mayıs 2006
  • JorteexHD

    JorteexHD

    20 NİSAN 2012

İLGİLİ SORU / CEVAPLAR