[ruby-list:50829] Fwd: クラスや構造体に対する Kernel.#print について
From:
大田黒 俊夫 <toshio.otaguro@...>
Date:
2019-09-28 21:51:01 UTC
List:
ruby-list #50829
中田様,
早速ご教示くださり,ありがとうございました.ドキュメントの Array#to_s のところを読むべきだったということですね.失礼しました.ちなみに
Hash#to_s も同様ですね.理解しました.
--
俊(とし)
---------- Forwarded message ---------
From: Nobuyoshi Nakada <nobu@ruby-lang.org>
Date: 2019年9月29日(日) 2:30
Subject: Re: [ruby-list:50826] クラスや構造体に対する Kernel.#print について
To: 大田黒 俊夫 <toshio.otaguro@gmail.com>
On 2019/09/28 8:56, 大田黒 俊夫 wrote:
> 以下のようなクラスと構造体を定義し,インスタンスを配列の要素として配置します.その配列を print で出力する場合,配列の要素が暗黙のうちに
> to_s で文字列に変換されて出力されると思っていたのですが,どうやら p と同様に inspect で変換されているようです.
>
> 自前の inspect を定義しない場合もデフォルトの inspect
> で出力されます.単純な配列でもネストした配列でも同様のようです.これは仕様でしょうか?なお,使用している Ruby は以下の通りです.
仕様です。
これは配列で出力しているからです。
Array#to_sは各要素に対してinspectを呼び出して","区切りの文字列に変換します。
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦