自分自身を説明するRubyオブジェクトを作成する方法
この記事では、Ruby inspectメソッドがどのように機能し、なぜそれを使用するのかを学びます。
文字列または配列を印刷すると、その内容が表示されます。
例 :
puts [1,2,3] 1 2 3
しかし、独自のオブジェクトを印刷する場合は…
これが表示されます :
#<Cat:0x29458e0>
なぜですか?
このクラスを意味のある方法で表示する方法をRubyに教えていないからです。
to_s
のようなメソッドを定義すると、これを変更できます。 。
それがどのように機能するか見てみましょう!
to_sの実装
オブジェクトでputsを使用する場合、Rubyは to_s
を呼び出します オブジェクトの文字列表現を取得するメソッド。
デフォルトでは、クラス名( Cat
)を取得します )…
さらに、 object_id
を表す数値 16進形式( 0x29458e0
。
これを変更する方法は次のとおりです :
class Cat def to_s "I'm a cat" end end puts Cat.new # "I'm a cat"
クラスにインスタンス変数がある場合は、それらをオブジェクト記述の一部にすることができます。
このように :
class Cat attr_reader :color def initialize(color) @color = color end def to_s "I'm a #{color} cat" end end puts Cat.new("blue") # "I'm a blue cat" puts Cat.new("white") # "I'm a white cat"
このオブジェクトを印刷すると、より役立つ情報が表示されます。
かっこいいじゃないですか?
ルビー検査方法
オブジェクトは2つの方法で表現できます。
最初 :
to_s
を使用する 。
これは、オブジェクトを表示するときにユーザーに表示するものです。
たとえば、時間オブジェクトを使用すると、意味のある方法で時間を表示できます( 2018-12-28 19:17:28
)、実際に時間がどのように保存されているかを示す代わりに( 1546021067
。
次に :
あなたは検査コード>することができます オブジェクトの場合、これにより、オブジェクトのより生のバージョンが得られます。
違いは何ですか?
-
to_s
を定義する putsを使用すると、オブジェクトのこの特定のビューが表示されます。 -
inspect
を定義する 自分自身と他の開発者のデバッグを支援します。
ここに例があります :
"abc".inspect
として表示 :
"abc"
Inspectは、引用符と特殊文字( \ n
など)を保持します 改行の場合)が表示されます。
最良の部分は?
inspect
を実装できます 独自のクラスのメソッド🙂
方法は次のとおりです :
class Cat attr_reader :color def inspect "Cat - id: #{object_id} - color: #{color}" end end Cat.new("white").inspect # "Cat - id: 23316588 - color: white"
これが、自分自身を説明するオブジェクトを作成する方法です!
ビデオチュートリアル
概要
Rubyのinspect&to_sメソッドを使用してより良いクラスを構築する方法を学びました!
この記事が気に入ったら、もっと多くの人が見つけられるように共有してください。
読んでくれてありがとう。
-
Excel オブジェクトを使用してアート ポートフォリオを作成する方法
Excel オブジェクトを使用してアート ポートフォリオを簡単に作成する手順を探している場合は、この記事が役に立ちます。それでは、このタスクを実行するための詳細な手順を知るために、メインの記事から始めましょう. ワークブックをダウンロード Excel にオブジェクトを挿入するとはどういう意味ですか? オブジェクトの挿入 in Excel は、Excel が実際にこれらのオブジェクトを保存することを意味します (PDF ファイル、Word ドキュメント、または画像 ビットマップで 実際のスプレッドシート自体の形式)。これは、Excel を使用して上記のオブジェクトの一部を格納するミニ データベ
-
Excel で自動的に更新されるデータベースを作成する方法
この記事では、作成する方法について説明します データベース エクセルで 更新 自動的に 4つの便利な方法の助けを借りて。これは、動的データを操作する際に必要な重要な機能です。データベースが別のソースからのデータに依存している場合、ソース データに応じた自動更新は非常に重要です。メソッドに慣れるために、例を見てみましょう。 自動的に更新されるデータベースを作成するための 4 つの便利な方法 エクセルで 1. Web からデータを抽出して、Excel で自動的に更新されるデータベースを作成する タスク :抽出 アメリカ、ニューヨークの 14 日間の天気予報 ウェブ から Excel デー