2011年11月6日日曜日

ヒアドキュメントチートシート

ヒアドキュメントって便利なんだけど,複数の言語を使っているとどれがどの構文だったか忘れそうなので, まとめておこう.

Perl

変数展開無し (<<'シンボル'; からシンボルまで)
<<'EOT';
$HOME
EOT
変数展開有り (<<シンボル; からシンボルまで)
<<EOT;
$HOME
EOT

Perlでヒアドキュメントを書く場合,たまにヒアドキュメントのシンボルの後にセミコロンを忘れて失敗することがある. それと,終了を示すシンボルは行頭に無いと駄目だったはず.

あと,バッククォート ( ` ) でシンボルを囲むとコマンドの実行結果を得られるというのもあるらしい.

PowerShell

変数展開無し (@' から '@ まで)

@'
$HOME
'@

変数展開有り (@" から "@ まで)

@"
$HOME
"@

Python

シングルクォート3つで囲むか,ダブルクォート3つで囲む. 違いは無いみたい?

変数展開はできない?
'''
here
'''
"""
document
"""
formatメソッドを使えば変数展開はできるみたい.
'''
{message}
'''.format(message="hello world")
"""
{message}
""".format(message="hello world")
気が向いたら追加するかも.

0 件のコメント:

コメントを投稿