単純なRubyスクリプトを実行しているとき、オブジェクトのフィールドをコンソールにダンプする最も簡単な方法は何でしょうか。
PHPの print_r() に似たようなもので、配列も扱えるものを探しています。
print_r()
可能性がある:
puts variable.inspect
オブジェクトのメソッドの配列を返す methods メソッドの使い道が見つかるかもしれません。これは print_r と同じではありませんが、時折役に立ちます。
methods
print_r
>> "Hello".methods.sort => ["%", "*", "+", "
to_yamlメソッドは時々役立つようです:
to_yaml
$foo = {:name => "Clem", :age => 43} puts $foo.to_yaml
戻る。
--- :age: 43 :name: Clem
(これは、ロードされている一部の「YAML」モジュールに依存しますか?? または、通常はそれが利用可能でしょうか?)。
p object
p`のRubyドキュメント
p(*args) public となります; 各オブジェクトについて、obj.inspectに続いて直接書き込みます。 に改行を入れて、プログラムの標準出力に出力します。
p(*args) public
オブジェクト内のインスタンス変数のみを探している場合、これは役立つ場合があります。
obj.instance_variables.map do |var| puts [var, obj.instance_variable_get(var)].join(":") end
またはコピーと貼り付けのワンライナーとして:
obj.instance_variables.map{|var| puts [var, obj.instance_variable_get(var)].join(":")}
foo.to_jsonを置きます。
jsonモジュールはデフォルトでロードされるため、重宝する場合があります。
すでにインデントされたJSON を印刷したい場合:
require 'json' ... puts JSON.pretty_generate(JSON.parse(object.to_json))
似たようなものを探していたので、このスレッドに出くわしました。 私は応答が好きで、彼らは私にいくつかのアイデアを与えたので、.to_hashメソッドをテストし、ユースケースでも本当にうまくいきました。 soo:
object.to_hash。
object.to_hash
object.attributes_name
=> ["id"、 "name"、 "email"、 "created_at"、 "updated_at"、 "password_digest"、 "remember_token"、 "admin"、 "marketing_permissions"、 "terms_and_conditions"、 " disable"、 " black_list_cost"、"、"
object.attributes.values
=> [1、 "tom"、 "tom@tom.com"、火、2015年6月2日00:16:03 UTC + 00:00、火、02 2015年6月00:22:35 UTC + 00:00、 "$ 2a $ gUTr3lp
可能性がある:
オブジェクトのメソッドの配列を返す
methods
メソッドの使い道が見つかるかもしれません。これはprint_r
と同じではありませんが、時折役に立ちます。to_yaml
メソッドは時々役立つようです:戻る。
(これは、ロードされている一部の「YAML」モジュールに依存しますか?? または、通常はそれが利用可能でしょうか?)。
p`のRubyドキュメント
オブジェクト内のインスタンス変数のみを探している場合、これは役立つ場合があります。
またはコピーと貼り付けのワンライナーとして:
foo.to_jsonを置きます。
jsonモジュールはデフォルトでロードされるため、重宝する場合があります。
すでにインデントされたJSON を印刷したい場合:
似たようなものを探していたので、このスレッドに出くわしました。 私は応答が好きで、彼らは私にいくつかのアイデアを与えたので、.to_hashメソッドをテストし、ユースケースでも本当にうまくいきました。 soo:
object.to_hash
。=> ["id"、 "name"、 "email"、 "created_at"、 "updated_at"、 "password_digest"、 "remember_token"、 "admin"、 "marketing_permissions"、 "terms_and_conditions"、 " disable"、 " black_list_cost"、"、"
=> [1、 "tom"、 "tom@tom.com"、火、2015年6月2日00:16:03 UTC + 00:00、火、02 2015年6月00:22:35 UTC + 00:00、 "$ 2a $ gUTr3lp