[#44431] コンストラクタの引数について&インスタンス変数の持ち方について — Akira Hayakawa <ruby@...>

度々オブジェクト指向についての質問ですいません。

17 messages 2008/01/04
[#44433] Re: コンストラクタの引数について&インスタンス変数の持ち方について — Yukihiro Matsumoto <matz@...> 2008/01/04

まつもと ゆきひろです

[#44469] pdf 作成 ライブラリ — "Luiz Aoki" <luizruby@...>

はじめまして、青木ルイスと申します、

14 messages 2008/01/12
[#44479] ファイル出力時のprintについて — m-hatake@... 2008/01/16

畠山と申します。

[#44483] format %g の丸めについて — 山崎雄介 <y-yamasaki@...>

山崎(ゆ)です。

14 messages 2008/01/16

[ruby-list:44479] ファイル出力時のprintについて

From: m-hatake@...
Date: 2008-01-16 02:40:18 UTC
List: ruby-list #44479
畠山と申します。

些細なことなのですが、適当な乱数列を作ろうと思って
エラーがでたのですが、ちょっとわからないことが
でたので質問させていただきます。

print (rand * 100).truncate,"\n"

とするとエラーはでないのですが、

open("test.dat","w") do |out|
  out.print (rand * 100).truncate,"\n"
end

とすると
2:warning: don't put space before argument parentheses
2:syntax error

というエラーがでます。

2行目というのは
  out.print (rand * 100).truncate,"\n"
の行のことを指しています。
カッコの前にスペースを入れるな、と言われていると
思うのですが、、、どうしてかよくわかりません。

open("test.dat","w") do |out|
  a = (rand * 100).truncate
  out.print a,"\n"
end

とすると、エラーはなくなります。

open("test.dat","w") do |out|
  out.print rand * 100,"\n"
end

としてもエラーはでません。

ということでどうも、
out.print のところで ().truncate の操作をやってはいけない、
ということみたいなのですが、これはどうして?でしょう?
普通のprint文ではよくて、out.printではだめなのがどうにも
腑に落ちません。

よろしくお願いします。

畠山


In This Thread