デバッグのためにオブジェクトの中身を表示させるには (dump)
Go言語 (golang) 2015/07/23
fmt.Printf
などの書式付き出力で %#v
という書式を使うと、ダンプされる。
import fmt
fmt.Printf("%#v\n", obj)
PHP 2016/03/31
var_dump
関数 | PHP Manual
http://php.net/manual/ja/function.var-dump.php
var_export
関数 | PHP Manual
http://php.net/manual/ja/function.var-export.php
print_r
関数 | PHP Manual
http://php.net/manual/ja/function.print-r.php
var_export
は循環参照を扱うことができない。循環参照があると、PHP Warning: var_export does not handle circular references
とか
PHP Fatal error: Nesting level too deep - recursive dependency?
とか表示されて、処理が終わらなくなる。
Smarty 2014/02/25
テンプレートに以下のように書けば、変数$a
の内容がそのままHTMLにダンプされる。
{$a|@debug_print_var}
または
{$a|@var_dump}
Python 2013/10/14
print
でもある程度うまく表示してくれるが、
pprint
のほうがよりある程度うまく表示してくれる。
from pprint import pprint
pprint(a)
Ruby 2013/12/16
以下のようにすると、hogeオブジェクトの中身が標準出力に出力される。
p hoge
p
メソッドはオブジェクトのinspect
メソッドを呼び出して文字列表現を手に入れ、それを標準出力する。
これに対してputs
メソッドはto_s
メソッドを呼び出して、それを標準出力する。
Perl 2015/01/08
Data::Dumper
でできる。
例
use utf8;
use Data::Dumper;
my $data = {'a' => 10, 'b' => 20, 'c' => [30, 31, 32], 'd' => 'あいうえお'};
print Dumper $data;
出力例
$VAR1 = {
'c' => [
30,
31,
32
],
'a' => 10,
'b' => 20,
'd' => "\x{3042}\x{3044}\x{3046}\x{3048}\x{304a}"
};
Data::Dumper
| perldoc.perl.org
http://perldoc.perl.org/Data/Dumper.html
JavaScript 2015/06/10
ブラウザで動くJavaScriptでは以下のように console.log
を使うとChromeであればデベロッパーツールのConsoleにオブジェクトの詳細が表示される。他のブラウザでも同等の開発ツールに表示される。
console.log(obj);
表示する内容や操作性はブラウザによって異なる。
参考
console.logのブラウザ別動作検証 | ikekou.jp
http://ikekou.jp/blog/archives/2061