SORU
1 ŞUBAT 2011, Salı


Yöntemleri Yöntemleri içinde olması mümkün mü?

Bir yöntemin içinde bir yöntem var. İçişleri yöntemi çalıştırılan değişken bir döngü bağlıdır. O kadar da kötü bir fikir mi?

CEVAP
1 ŞUBAT 2011, Salı


Hayır, Ruby iç içe geçmiş bir yöntem yok.

Böyle bir şey yapabilirsiniz:

class Test1
  def meth1
    def meth2
      puts "Yay"
    end
    meth2
  end
end

Test1.new.meth1

Ama bu senin içindeğiliç içe geçmiş bir yöntem. Tekrar ediyorum: Rubyyokiç içe geçmiş bir yöntem.

Bu dinamik yöntem tanımı nedir. Çalıştırdığınızda meth1, meth1 vücut yürütülür. Vücudun sadece bir yöntem bir kez meth1 çalıştırdıktan sonra, meth2 diyebilirsin ediliyor meth2 adlı bir tanımlama olur.

Ama nerede meth2 tanımlanır? Bellikideğiliç içe geçmiş bir yöntem olarak tanımlanan, o zamandan beri oradahayırRuby iç içe geçmiş yöntemler. Test1 örnek yöntem olarak tanımlanabilir

Test1.new.meth2
# Yay

Ayrıca, tabii ki her zaman yeniden meth1 çalışma olmuş olacak

Test1.new.meth1
# Yay

Test1.new.meth1.
# test1.rb:3: warning: method redefined; discarding old meth2
# test1.rb:3: warning: previous definition of meth2 was here
# Yay

Ruby hayır . Kısacası: ^em>değiliç içe yöntemlerini desteklemektedir.

Ruby, kilitler, sadece blok ceset edilemez bir yöntem gövdesi olabilir. Bu hemen hemen bu yana hatta iç içe yöntemleri için önemli kullanma durumu ortadan kaldırıreğerRuby iç içe yöntemleri desteklenen, iç içe yönteminde dış yöntemin değişkenleri kullanabilirsiniz olamazdı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • National Geographic

    National Geo

    7 Mayıs 2006
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008
  • Crossover

    Crossover

    18 HAZİRAN 2007