質問
あなたは私の以前の質問を見ている場合は、
、あなたはすでにそれがルビーに来るとき、私は大きなnubyだ知っていると思います。だから、私はCプログラミングのために意図され、このウェブサイトを発見したが、私は1つがCで行うことができます何でも、(あまりにも多く読みやすい)Rubyで可能でなければならないと思いました。
の挑戦は数字の束をプリントアウトすることです。私は(.uptoこの気の利いた方法を発見した)、私はブロックを使用(そして実際にその目的を理解すること)。しかし、IRBに、私はいくつかの予期しない動作を得ています。
class MyCounter
def run
1.upto(10) { |x| print x.to_s + " " }
end
end
irb(main):033:0> q = MyCounter.new
=> #<MyCounter:0x5dca0>
irb(main):034:0> q.run
1 2 3 4 5 6 7 8 9 10 => 1
S万一私がそうでなければ、この操作を行います。私は=> 1が来る見当がつかない?私はこの結果を持って期待しています:
1 2 3 4 5 6 7 8 9 10
ご回答、コメントやフィードバックをありがとう!
解決
の私は=> 1
Doが心配しないで。デフォルトirb
によってメソッドの実行の戻り値を出力します。
return
文を書いていない場合でも、Rubyは最後に計算文の値を返します。
この場合、1ました すべての
インスタンス試みについては、
class WhereIsTheReturn
def uh?
14 * 3 # no return keyword
end
end
whereIsIt = WhereIsTheReturn.new
hereItIs = whereIsIt.uh?
print "Here it is : #{hereItIs}\n"
他のヒント
"=> 1" IRBではなく、あなたのコードからです。あなたはIRBに入力するすべてのステートメントの後、それは「=>」プロンプトます。
の後に、そのステートメントの結果を印刷しますあなたの関数内で改行を印刷してみます:
def run
1.upto(10) { |x| print x.to_s + " " }
print "\n"
end
そして、それは次のようになります:
irb> q.run
1 2 3 4 5 6 7 8 9 10
=> nil
所属していません StackOverflow