SORU
12 NİSAN 2010, PAZARTESİ


Neden bu Ruby nesne iki to_s var ve görünen yöntemler aynı şeyi inceleyin.

Neden bu Ruby nesne iki to_s var ve aynı şeyi yöntemleri inceleyin. Ya da, öyle görünüyor.

p çağrıları 4* *ve onun temsil eden nesne/baskı çağrı to_s koyar.

Eğer kaçarsam

class Graph
  def initialize
    @nodeArray = Array.new
    @wireArray = Array.new
  end
  def to_s # called with print / puts
    "Graph : #{@nodeArray.size}"
  end
  def inspect # called with p
    "G"
  end
end

if __FILE__ == $0
  gr = Graph.new
  p gr
  print gr
  puts gr
end

Anladım

G
Graph : 0
Graph : 0
  • Neden Ruby iki işlevi de aynı şeyi yapmak zorunda mı? to_s inspect arasında ne fark var?
  • puts, print p arasındaki fark nedir?

Ben to_s inspect fonksiyon açıklama, şöyle olsun.

#<Graph:0x100124b88>
#<Graph:0x100124b88>

CEVAP
12 NİSAN 2010, PAZARTESİ


inspect hata ayıklama ve son kullanıcı veya görüntüleme amaçları için to_s daha fazlası için kullanılır.

Örneğin, [1,2,3].to_s [1,2,3].inspect farklı çıkış üretir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FND Films

    FND Films

    2 Mayıs 2006
  • Monica Catral

    Monica Catra

    12 NİSAN 2009
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013