From: HYOUDOU Kouichi /note Date: 1997-11-09T03:51:08+09:00 Subject: [ruby-dev:814] Re: printn means print and newline 兵藤です matz@netlab.co.jp (Yukihiro Matsumoto)さんのTue, 4 Nov 97,00792 [ruby-dev:792] Re: printn means print and newline へのreplyです > |> Objectのgets,putsとIOのgets,putsで挙動を変えるのが > |> 一番Cに近い動作かもしれませんが,互換性がなくなるので > | > |インスタンス変数で挙動を変更できるようにするというのはどうでしょうか ? > > ユーザが覚えることが増える上にスクリプトの互換性の問題で結局 > 安心して使えなくなるので,なんらかのスイッチで挙動を切替える > のは望ましくないと思います. IOクラスに区切りを指定するインスタンス変数を用意することを考えていました 初期値(nil)だと従来通り大域変数を区切りとして反映し 他の値をセットするとそれを区切りとして反映する という動作なら 従来のコードは変更なく動く インスタンス毎に違う区切りを設定することができて便利 (eg. BBSに半手動でアクセス > 行末処理の異なる複数IOを開く) 大域変数は触らないので他のインスタンスには影響は及ばない で互換性問題はでないと思いますが (?) 覚えることが増えるのは確かですが、新たなメソッド名を用意するよりは 既存のメソッドの機能拡張できればそれだけ覚えやすいのではないかと 考えたのです いかがでしょうか # 動作が複雑でないという点ではCのputs()のような動作が簡単でいいですね