<< 2006/07/ 1 1. GNOME発見
2. リフレッシュ済みバッテリ受け取り
2 1. 久しぶりに iTunes でラジオ聞いた
3 4 5 1. ViewCVS の diff を等幅フォントで
6 7 1. 正規表現で文字列を split すると、できた配列から空の要素が消える
8 9 10 1. 楽々ERDレッスンを読んでいる
11 1. eclipse の内蔵 CVS って CVS コマンドと互換性ないのか
12 1. EasyEclipse なんてあるんだ
13 1. やっぱ最近の梅雨は7月だよな
2. jsUnit 利用時は cache を切れ
14 1. Unix 系 CLI 使いが一時的に Windows を使ううえで必要以上にイライラしないための最低限のバッチ7+1本
15 1. bs が便利
16 17 1. パーツショップのショッピングサイトってひどいんだなぁ
18 19 20 1. まだイケる
21 1. WSHでリモートのスクリプトを読み込んで実行、、、できない?
22 1. iCal って便利なのかも
23 24 25 26 27 28 1. 最近もっともだなぁと思ったこと
2. awk のハマりどころ
29 30 1. ちょっとぼおっとしてた
31 1. 『データベース村へようこそ』読了
>>
トップ «前の日記(2006-07-22) 最新 次の日記(2006-07-30)» 編集

2006-07-28 [長年日記]

_ 最近もっともだなぁと思ったこと

  • むしろ (サマータイム、実は好評? @ /.-j)

確かに夏は朝の涼しい時間に寝ていられる方が特に灼熱の都会に住んでいる人の健康にはよさげ。つか朝って結構涼しいよね。びっくりする。もう8月も目の前だってのに。

偽サマータイムをサマータイムと読んでしまうことで本物の邪魔臭いサマータイムの浸透を妨げるというアイディアは秀逸だなと思った。

ピークシフトはいいと思うよぉ。土曜出勤すると妙に仕事がはかどるのと同じようなもんだと言えば身にしみて分かっちゃう人もそれなりにいるんじゃないかな。

何もこんなに遅れてサマータイムネタじゃなくたっていいじゃないか? これがピークシフトですよ!(嘘

Tags: 日々

_ awk のハマりどころ

awk と言っても gawk ね。あとは知らない。

  • 文字列をついシングルクォーテーションで囲んで怒られる
  • 「改行コード取らなきゃ」と思っちゃう
  • 文字列をつい . で連結した気になって怒られる

gawk は Fink で入れた gawk 3.1.4 を使っている。3.1.x は gettext で国際化なんだよねー、gettext よく分からないんだよねーと思ってたんだけど、LANG をきっちり設定するかあるいは何も設定しなければなんかそれでオッケーっぽい。jXXX 関数はないけど別にいいや。*1

ところで gawk の 3.1 系統は TCP/IP が扱えたりかなり野心的で面白そうなのに、この日本語を扱う際の最初の一歩でつまづいてる人が多いような気がする。Windows の場合はこれをやる、Linux の場合はこれをチェックしろとかっていう最低限のノウハウがないまま「なんとなく国際化してるらしいけど今までと使い勝手違うからいやなんだよね」という層を作ってしまっているような。

2ch なんかでも gawk3.0.4+mb の方が 3.1.x よりウケはいい*2。でもメンテナはもうやる気ないわけですよ。本家が国際化してんだから無理に独自実装のマルチバイト化やる必要ないじゃんと。だったら 3.1.x についていくしかないと思うし、強力になってるんだから、どうせ使うなら 3.1.x 以降を使えた方が幸せになれると思う。

え、全部 Ruby か Python でいいじゃん? んー。なんかねぇ、使っちゃうんですよねぇ。使い続けるスクリプトを作るためには使わない方がいいと思うけど、フィルタとしてはやっぱ使いやすいのよね。

※ 凝り始めると結局 Ruby とかで書き換えちゃうんだけど。

Tags: Awk

*1 ただし「3.1.5 以降は」国際化のスイッチが入るとすべて jXXX() 相当になるらしい。

*2 マルチバイト対応のほかに cmd.exe が対応していないシングルクォートに独自に対応しているってのもある。これは cmd.exe のことを考えていないドキュメントの方に問題があるんだよなぁ。

本日のツッコミ(全2件) [ツッコミを入れる]
_ 通りすがり (2006-07-28 12:30)

gawk 3.1.xの国際対応は、そのままではWindowsではまともに動きません(ソースの修正が必要)。あと3.1.5で、LANG(つかLC_CTYPE)がマルチバイト文字環境のときの動作がjxxxx相当のものになります(逆にバイト単位のそれができない)。

_ wtnabe (2006-07-28 13:14)

Windows は相変わらず悩ましげですね。

jXXX関数は逆でしたか。細かい関数は使わなくなっちゃったのがバレバレですね。バイト単位という概念がなくなるのは ecmascript みたいですね。あれもどーも微妙なんだなぁ。