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

  • Facebook Developers

    Facebook Dev

    24 ŞUBAT 2009
  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009

İLGİLİ SORU / CEVAPLAR