Neden ünlem işareti Ruby yöntemler kullanılır?
Bazı yöntemler eğer söz konusu nesne dahil olup olmadığını sormakinclude?
gibi bir soru sormak, soru iÅŸareti (?
) Yakut, bu da doğru/yanlış değerini verir.
Ama neden bazı yöntemler diğerlerine yok ünlem işareti (!
) var mı?
Bu ne anlama geliyor?
CEVAP
Genel olarak, bu son yöntem ! yöntem olacağına işaret ediliyorüzerinde deniyor nesne değiştirin. Ruby "tehlikeli yöntem değiştirirler çünkü" başkası için bir referans olabilir Devlet. bu çağrı İşte dizeler için basit bir örnek:
foo = "A STRING" # a string called foo
foo.downcase! # modifies foo itself
puts foo # prints modified foo
Bu çıktısı:
a string
Standart kütüphanelerde, benzer isimli yöntem, bir çift görürsün bir sürü yer vardır ! ve biri olmadan. Olanlar olmadan denir "güvenli yolları" ve yükleme özgün bir kopyası iade değişikliklerle uygulanırkopyala, aranan değişmemiş. Burada olmadan !: aynı örnek.
foo = "A STRING" # a string called foo
bar = foo.downcase # doesn't modify foo; returns a modified string
puts foo # prints unchanged foo
puts bar # prints newly created bar
Bu çıkışları:
A STRING
a string
Bu sadece bir örnek olduğunu unutmayın, ama ruby sınıfları bir sürü izleyin. Ayrıca kodunuzda değişiklik oluyor ne izlemenize yardımcı olur.
Neden Python'doÄŸrudan kabuk komut...
Neden bu Ruby nesne iki to_s var ve gö...
Ünlem işareti işlevi önce ne yapar?...
Neden bir JavaScript deÄŸiÅŸken dolar iÅŸ...
Neden Ruby Hariç => e `kurtarmak iç...