RubyはじめてのRuby!inspectとは!?使い方を徹底解説!侍テック編集部2018/10/232018/10/23rubyには、オブジェクトや配列をわかりやすい文字列で返すメソッドとして、inspectメソッドが用意されています。【発展】inspectとto_sの違いなど、inspectメソッドについての基礎から発展的な内容について解説していきます。まとめinspectとはinspectメソッドとは、オブジェクトや配列などをわかりやすく文字列で返してくれるメソッドです。実はデバッグでよく利用されるpメソッド(標準出力するメソッド)は、このinspectメソッドが使われています。そのinspectメソッドの構文は以下のように表せます。"オブジェクトや配列など".inspectinspectメソッドの概要と書き方が分かったところで、次の項ではinspectメソッドの使い方について解説いたします。inspectメソッドの使い方inspectメソッドは、Objectクラスで定義されており、クラス名・オブジェクトid・インスタンス変数を出力します。Stringクラス、Hashクラス、Arrayクラス、などそれぞれのクラスでinspectメソッドはオーバーライド(上書き)されています。inspectメソッドは対象の型に沿った文字列を返すのです。それでは、それぞれの型でinspectメソッドを使用した場合、どのように出力されるか具体的に確認していきましょう。文字列や数値をinspectで出力するinspectメソッドは文字列や数値の場合、値をそのまま出力します。12.inspect実行結果:"moji"12配列やハッシュをinspectで出力する配列やハッシュの場合は、全体を[]または{}で囲み、各要素をそれぞれinspectメソッドで出力した結果が返ります。:age=>25}モジュールやクラスをinspectで出力する対象がモジュールの場合、モジュール名が実行結果として出力されます。インスタンス変数>」が実行結果として出力されます。以下に、モジュールとクラスの場合のサンプルプログラムを記載します。@age=25>inspectとto_sの違いとはinspectメソッドと同様のメソッドが他にもあります。それはto_sメソッドです。細かい部分で挙動が異なってくるので、この項ではinspectメソッドとto_sメソッドの違いを解説いたします。nilの場合nilをinspectメソッドとto_sメソッドで出力した場合、両者で異なる出力結果となります。inspectメソッドではnilを文字列として出力しますが、to_sメソッドではそのままnilとして出力しています。文字列を指定した場合にも、異なる出力結果となります。"moji".to_s実行結果:"moji"moji文字列を指定してinspectメソッドとto_sメソッドで出力した場合、ダブルクォーテーションの有無の違いが生じます。クラスの場合クラスオブジェクトの場合も、inspetメソッドとto_sメソッドに違いが生じます。@age=25>#<Person:0x00000001cdda88>inspectメソッドではクラス名とオブジェクトidとインスタンス変数を出力しますが、to_sメソッドはクラス名とオブジェクトidのみ出力しインスタンス変数は出力しません。このようにinspectメソッドとto_sメソッドでは、同じ「文字列を返す」メソッドでも微妙に違いがあるので使用する際には注意が必要です。まとめこの記事では、inspectメソッドの使い方をサンプルプログラムを用いて解説しました。inspectメソッドは、オブジェクトや配列をわかりやすい文字列で返してくれるメソッドです。inspectメソッドとto_sメソッドの違いについて注意しておく必要があります。デバッグの際にも役に立つメソッドなので、ぜひこの機会にinspectメソッドをマスターしてください!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。