なぜ次のrubyプログラムが2回出力を出力しますか?このコードから2行の出力が得られるのはなぜですか?
a = Proc.new do
class A
def initialize d
@c = d
end
def print
p @c
end
end
b = A.new(2)
p b.print
end
a.call
実出力
2
2
の予想される出力
2
私は混乱しています。あなたはそれを2行印刷するとは思わないのですか?これは2行を出力するためです。 –
質問はprocとは関係ありません –
しかし、なぜ2行を印刷しますか?助けてください。 –