トップページ > プログラム > 2014年08月03日 > saA9+Ea3

書き込み順位&時間帯一覧

46 位/196 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000001000001000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Ruby 初心者スレッド Part 55

書き込みレス一覧

Ruby 初心者スレッド Part 55
230 :デフォルトの名無しさん[sage]:2014/08/03(日) 09:57:56.78 ID:saA9+Ea3
>>219
Rubyのpはそのオブジェクトのinspectメソッドというものを呼び出している
inspectは「検査する」「(刑事などが)詳細に調べる」という意味で、
このメソッドはそのオブジェクトの内容を文字として表示するための情報源として使う
たとえばTimeオブジェクトは"2014-08-03 09:41:57 +0900"のような文字列として存在しているわけではなく、
「なんかよくわかんないけど変数とかメソッドとか入ったバイナリみたいなやつ」として存在している
これを直接画面表示しようとするとしんどいので、画面に表示するときにどう表示するかをオブジェクトのクラス製作者が適度に設定している

次、Rubyのpメソッドは前述のようにinspectを呼び出している
pメソッドはデバッグ用メソッドで、スクリプト作成中などにオブジェクトの内容を確かめるために使用される

オ ブ ジ ェ ク ト を 第 三 者 ユ ー ザ ー に 表 示 す る た め の メ ソ ッ ド で は な い

ので、もしオブジェクト内容を綺麗に表示させる必要があるのなら、
(存在すれば)整形メソッドを利用し、文字列を自前で作ってputs等を使用「しなければならない」
いまだに「pは画面表示用のメソッド」「pはputsの省略形」という解説をしてる本やサイトがあるが、燃やして捨ててしまってよい
Timeオブジェクトを特定の書式で表示したい場合は>>222

irb> puts Time.now.strftime('%Y-%m-%d %H:%M:%S')
2014-08-03 09:53:28
Ruby 初心者スレッド Part 55
233 :デフォルトの名無しさん[sage]:2014/08/03(日) 15:04:32.71 ID:saA9+Ea3
>>231
プログラム的にわかりやすくてギリギリ可視性もあっていいじゃないか
ちなみにこれもエンドユーザーに直接表示することを目的とはしていない
これをそのまま見せようとするのではなく、自力でどうにかすること


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。