<Ruby> メソッドメモ
inspect
オブジェクトを人間が読める形式に変換した文字列を返すメソッド。
railsガイドのarticles_controller.rbにinspectを使用すると以下のような表示になる。
inspectを使った場合
6] pry(main)> Article.first.inspect Article Load (0.2ms) SELECT "articles".* FROM "articles" ORDER BY "articles"."id" ASC LIMIT ? [["LIMIT", 1]] => "#<Article id: 1, title: \"タイトル\", text: \"テキスト\", created_at: \"2021-01-01 11:21:06\", updated_at: \"2021-01-01 11:21:06\">"
render plain: params[:article].inspectでブラウザに表示させると、
inspectを使わない場合
[7] pry(main)> Article.first Article Load (0.3ms) SELECT "articles".* FROM "articles" ORDER BY "articles"."id" ASC LIMIT ? [["LIMIT", 1]] => #<Article:0x00007fd778834d28 id: 1, title: "タイトル", text: "テキスト", created_at: Fri, 01 Jan 2021 11:21:06 UTC +00:00, updated_at: Fri, 01 Jan 2021 11:21:06 UTC +00:00>
render plain: params[:article].inspectでブラウザに表示させると、
参考文献
Object#inspect (Ruby 3.0.0 リファレンスマニュアル)
getsメソッド
一行読み込んで、読み込みに成功した時にはその文字列を返し、テキスト読み込みメソッドとして使用される。
x = gets y = gets z = gets puts x + y + z
chompメソッドを使用すると自動で入力されている改行"¥n"を取り除くことができる。
puts x.chomp + y.chomp + z.chomp
または下記のような書き方ができる。
x = gets(chomp: true) y = gets(chomp: true) z = gets(chomp: true) puts x + y + z
数値計算をしたい時はto_iメソッドを使用して、integer型に変換する。
x = gets y = gets z = gets puts x.to_i + y.to_i + z.to_i
参考文献
IO#gets (Ruby 3.0.0 リファレンスマニュアル)
String#to_i (Ruby 3.0.0 リファレンスマニュアル)
pメソッド
引数を人間に読みやすい形に整形して改行と順番に出力し、原則デバッグに使用する。
putsとprintとpの実行例は以下の通りになる。
puts "" => nil # putsの戻り値はnil、改行する irb(main):006:0> p "" "" => "" # pの戻り値は 引数がある場合はinspectメソッドで返される irb(main):007:0> print "" => nil # printの戻り値はnil、改行しない
参考文献
Kernel.#p (Ruby 3.0.0 リファレンスマニュアル)
even?メソッド
自身が偶数であれば真を返し、それ以外の場合は偽を返す。
irb(main):013:0> 4.even? => true irb(main):014:0> 3.even? => false