Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

自分自身を説明する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メソッドを使用してより良いクラスを構築する方法を学びました!

この記事が気に入ったら、もっと多くの人が見つけられるように共有してください。

読んでくれてありがとう。


  1. Excel オブジェクトを使用してアート ポートフォリオを作成する方法

    Excel オブジェクトを使用してアート ポートフォリオを簡単に作成する手順を探している場合は、この記事が役に立ちます。それでは、このタスクを実行するための詳細な手順を知るために、メインの記事から始めましょう. ワークブックをダウンロード Excel にオブジェクトを挿入するとはどういう意味ですか? オブジェクトの挿入 in Excel は、Excel が実際にこれらのオブジェクトを保存することを意味します (PDF ファイル、Word ドキュメント、または画像 ビットマップで 実際のスプレッドシート自体の形式)。これは、Excel を使用して上記のオブジェクトの一部を格納するミニ データベ

  2. Excel で自動的に更新されるデータベースを作成する方法

    この記事では、作成する方法について説明します データベース エクセルで 更新 自動的に 4つの便利な方法の助けを借りて。これは、動的データを操作する際に必要な重要な機能です。データベースが別のソースからのデータに依存している場合、ソース データに応じた自動更新は非常に重要です。メソッドに慣れるために、例を見てみましょう。 自動的に更新されるデータベースを作成するための 4 つの便利な方法 エクセルで 1. Web からデータを抽出して、Excel で自動的に更新されるデータベースを作成する タスク :抽出 アメリカ、ニューヨークの 14 日間の天気予報 ウェブ から Excel デー