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ş:
Neden ünlem işareti Ruby yöntemler kul...
Kullanmak neden'in eğer Genişlik ...
Neden nesne yerine bir işaretçi kendis...
Neden ve'boş ve tanımsız arasında...
Neden Ruby Hariç => e `kurtarmak iç...