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

  • Christian Atlas

    Christian At

    26 Mart 2009
  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006
  • ThreadBanger

    ThreadBanger

    2 Mart 2007

İLGİLİ SORU / CEVAPLAR