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

  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • Marissah Simonini

    Marissah Sim

    25 HAZİRAN 2013
  • superemposed

    superemposed

    25 Aralık 2007

İLGİLİ SORU / CEVAPLAR