|
スマートでないやり方です. 修飾子での簡単な型式変換をつけました. print &format('20000728','yyyy mm dd',"yyyy/mm/dd\n"); print &format('20000728','y1 y2 mm dd',"'y2年mm月dd日\n"); print &format('20000726','yyy! m! d!',"m!月d!日\n"); $M{'m#07'}='July'; print &format('20000726','yyyy m# d!',"m# d!, yyyy\n"); sub format{ local($src,$format,$template)=@_; local(@format,$ptr,$s,$d,$len); @format=split(/ /,$format); $ptr=0; foreach $s(@format){ $len=length($s); $d=substr($src,$ptr,$len); if ($s=~/!/){$d+=0;} if ($s=~/#/){$d=$M{"$s$d"};} $template=~s/$s/$d/g; $ptr+=$len; } return $template; } |
|
> VBのFormat関数 というものを知らないので外しているかもしれませんが、普通は $date = 20000728; printf "%04d/%02d/%02d",$date=~m/^(\d\d\d\d)(\d\d)(\d\d)$/; か $date = 20000728; $date =~ s|^(\d\d\d\d)(\d\d)(\d\d)$|$1/$2/$3|; printf $date あたりかなぁ。 もし表示形式を指定できるようにするなら、date コマンドと同じ書式の http://www.jp.FreeBSD.org/cgi/mroff.cgi?subdir=man&man=strftime&dir=jpman-3.1.0%2Fman#toc0 にするかも。 |
|
すいません、返答がずいぶん遅れてしまいました。 68userさん、いろいろアドバイスありがとうございます。 それで、いろいろMewについて見ていったのですが、 たまたま見ていたEmacsのINFOの中にMewという単語を見つけ、 中を見ていったら、何と既にMewがインストールされていました。 色々お手数おかけしてすいませんでした。 ただ、色々試みているのですが、いまだにMewを起動させる事ができません。 M-x Mew と入力すると起動すると書いてあるのですが、 これをどこで(どういう場面で)入力すればいいのかが解りません。 教えて頂けますか? それから、最近、Netscape をkill した時に Bus error という表示が出て、.netscape フォルダの中に、 lock ファイルができてしまいます。 以前はこんな事はなく、Done という表示が出て lock ファイルも作られませんでした。 僕は最近、不必要だと思われるファイルを色々消していっているのですが、 その過程で、何か必要なファイルまで消していってしまったのでしょうか? |
|
@68user様 > X ではウィンドウの最初の map 時や、他のウィンドウに隠れていた > ものが露出した場合に Expose イベントが飛んできます。 ここら辺はなんとなくわかっていたのですが、 最終的にできてほしいプログラムのことを考えるあまり 頭の中でごちゃごちゃになっていました。 まだ線をひくのを確認していないのでやってみます。 |