[#44431] コンストラクタの引数について&インスタンス変数の持ち方について — Akira Hayakawa <ruby@...>
度々オブジェクト指向についての質問ですいません。
17 messages
2008/01/04
[#44433] Re: コンストラクタの引数について&インスタンス変数の持ち方について
— Yukihiro Matsumoto <matz@...>
2008/01/04
まつもと ゆきひろです
[#44453] RSS取得時<enclosure>タグでエラー? — "garyo hosu" <garyohosu@...>
garyoです。いつもお世話になっております。
5 messages
2008/01/08
[#44463] [ANN] Rails勉強会@東京 第26回のお知らせ — "MOROHASHI Kyosuke" <moronatural@...>
各位
1 message
2008/01/11
[#44464] [ANN] rcairo 1.5.1 — Kouhei Sutou <kou@...>
須藤です。
5 messages
2008/01/11
[#44469] pdf 作成 ライブラリ — "Luiz Aoki" <luizruby@...>
はじめまして、青木ルイスと申します、
14 messages
2008/01/12
[#44479] ファイル出力時のprintについて
— m-hatake@...
2008/01/16
畠山と申します。
[#44481] Re: ファイル出力時のprintについて
— KIMURA Koichi <kimura.koichi@...>
2008/01/16
木村です。
[#44483] format %g の丸めについて — 山崎雄介 <y-yamasaki@...>
山崎(ゆ)です。
14 messages
2008/01/16
[#44517] www.ruby-lang.org/ja/man/ を静的HTMLに変更 — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
6 messages
2008/01/20
[#44536] カタカナ→ひらがな変換 — "Hideo Konami" <konami@...>
小波です。
8 messages
2008/01/25
[ruby-list:44485] Re: ファイル出力時のprintについて
From:
KIMURA Koichi <kimura.koichi@...>
Date:
2008-01-16 06:51:56 UTC
List:
ruby-list #44485
木村です。
On Wed, 16 Jan 2008 13:17:36 +0900
m-hatake@jaist.ac.jp wrote:
> が、やっぱり黒田さんも疑問に思っているように、
>
> 普通のprint
> (この通常の組み込み関数としてのprintが何のメソッドになっているかは
> 実は良く知らないのですが)
Kernel モジュールですね。
puts Kernel.methods.sort
とかで確認してみてください。
#別にsortはしないでもいいですが
あと
Rubyリファレンスマニュアル - 組み込み関数
http://www.ruby-lang.org/ja/man/?cmd=view;name=%C1%C8%A4%DF%B9%FE%A4%DF%B4%D8%BF%F4
に
Ruby には厳密な意味では関数はありませんが、Kernel モジュールで定義されている
メソッドは (どこからでも関数形式で呼び出せるので) 他言語における関数のよ
うに使えます。これらのメソッドを再定義する場合は他の場所への影響を考えて
行なう必要があります。
と説明があります。
> と何か具体的なオブジェクトのメソッドとしてのprintとで
> 次にくる()を、式のカッコとして期待するのか、
> メソッドの引数のカッコとして期待するのか、
> というのが統一されていない、というのは
> あまりよろしくない気がするのですがどうでしょう?
構文定義のソース(parse.y)を見てみましたが、
どうも簡単に行くものでもないようです。
いろいろやってて気がついたのですが、
open("test.dat","w") do |out|
print (rand * 100).truncate,"\n"
end
だとエラーになりますが、
open("test.dat","w") do
print (rand * 100).truncate,"\n"
end
だとエラーになりません。
#意味のない比較ですが
parse.y の
do_block : kDO_BLOCK
{
$<vars>$ = dyna_push();
$<num>1 = ruby_sourceline;
}
opt_block_var {$<vars>$ = ruby_dyna_vars;}
compstmt
kEND
{
$$ = NEW_ITER($3, 0, dyna_init($5, $<vars>4));
nd_set_line($$, $<num>1);
dyna_pop($<vars>2);
}
;
この辺で呼び出している何かで変わるんだろうなあという気はしますが
よくわかりません(^^;
それでは。
--
木村浩一