sprintfで使用する引数を直指定する方法
久々にPerl。いや、ほんと久しぶりよね。
printf '%d年%d月%d日', 2010, 12, 22; # 2010年12月22日
上記のような処理の時に、引数の数は変更せずに年を削って「12月22日」と表示したい場合、以下のようにすれば可能。
printf '%2$d月%3$d日', 2010, 12, 22; # 12月22日
「%」と「d」の間に「数値$」を追加することで使用する引数を直指定できる。上記の場合だと2番目と3番目の引数を使うという感じになる。
こんなsprintfの使い方なんて滅多なことではしないと思うけど、その滅多が来ちゃったので滅多ごめん。
滅多ごめん。
# ちなみにPHPでも可能。