質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

441閲覧

Railsで生成したインスタンスのレコードの頭にある記述が何を意味するか理解したい。#<model:0x00007f...>

lvAvl

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/02/11 12:42

前提・実現したいこと

Railsで生成したインスタンスのレコードの頭にある記述が何を意味するか理解したい。#model:0x00007f...

発生している問題

コンソール画面にて、モデルからnewメソッドを使用してインスタンスを生成した際に下記ようなレコードが生成されるのですが、

rails

1pry(main)> item = Item.new 2=> #<Item:0x00007f9287db32d0 id: nil, name: nil, info: nil, price: nil, category_id: nil, sales_status_id: nil, shipping_fee_status_id: nil, prefecture_id: nil, scheduled_delivery_id: nil, user_id: nil, created_at: nil, updated_at: nil>

レコードの頭にあるItem:0x00007f9287db32d0こちらの記述は一体何を意味しているのか疑問に感じ、検索したが納得した解答が得られなかった為質問させて頂きたいです。

試したこと

自身の仮説としては、オブジェクトのidではないかと感じ、item変数に対して、object_idメソッドを使用しましたが、下記のように0x00007f9287db32d0とは違う値が帰ってきた為理解に苦しんでおります。

rails

1pry(main)> item.object_id 2=> 70133660621160

お手数ですが、知見のある方ご教示頂ければと思います。
よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

Rails 6.0.0
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18]

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siruku6

2021/02/11 13:03

仕事で4年railsを使っていますが、その値の意味を知らなくて困ったことは一度もありませんでした....。 把握している人もいるかもしれませんが、よほどのエッジケースでないと必要ない情報だと感じています。 ちなみに、なんのためにその値を使うのでしょうか?
lvAvl

2021/02/11 13:14 編集

コメント大変ありがとうございます。 確かに、仰る通りよほどのエッジケースにならない限り必要ないかと思います。 特に使用する用途はありませんが、個人の知見を深める目的と完璧な解答でなくても、多くの人の見解を聞ければと思い、今回質問させて頂きました。
siruku6

2021/02/11 13:22 編集

知見を深めることや好奇心が強いことはよいことだと思います。 ただ、申し訳ありませんが、私の場合は実益がなさそうなことはいつも無視してきていたので、お役に立てそうにないです...。 今回の質問で得られることが何かの役に立つことを祈っています。。
guest

回答1

0

ベストアンサー

rubyの要素は全てobjectです。
そのobjectをrubyが管理するために用意している object_id というものがあります。それがそれです。
普段は使いません。
配列を使いまわしたりして、同じ要素が別のものと勘違いし、値を書き壊したりしてしまうことがあります。そのような場合のdebug時の確認に使うことはあります。

$ irb >> 1.object_id => 3 >>

整数にだってついてるんだぜ。

投稿2021/02/11 23:39

winterboum

総合スコア23567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問