[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:000611] Re: array dimension proto type



堀之内です。

だいぶテンポが遅れてますが..。

> このパッケージで気になったのは, あるパターンにマッチする部分を指定の
> フォーマットで埋めるという機能です. 
> 
> すぐに ruby できるという自信がなかったので残しましたが, 簡単に実現でき
> れば(たぶんできるんでしょう)ラップしなくてかまいません. 

Cと同じフォーマット指定による sprintf 関数があります。
使用例は以下。

% ruby -e 'print "PI: pi,\n".sub("pi",sprintf("%-4.2f",3.1415))'
% ruby -e 'print "PI: pi.\n".sub("pi",sprintf("%-0.2f",3.1415))'
% ruby -e 'print "PI: pi.\n".sub("pi",sprintf("%-10.2f",3.1415))'
% ruby -e 'print "PI: pi.\n".sub("pi",sprintf("%10.2f",3.1415))'
% ruby -e 'print "PI: pi.\n".sub("pi",sprintf("%0.3g",3.1415))'
% ruby -e 'print "PI*1e7: pi.\n".sub("pi",sprintf("%0.3g",1.0e7*3.1415))'
% ruby -e 'print "PI*1e7: pi.\n".sub("pi",sprintf("%i",1.0e7*3.1415))'

ということで、有効数字の桁数を指定して無駄無くプリントするなら、
"%0.3g" などとするのが良いでしょう。

堀之内 武                     horinout@xxxxxx
京都大学宙空電波科学研究センター (旧超高層電波研究センター)