作者: Bruce.
日時: 2005/11/09(23:22)
Bruce.です。

カニくいてーーっ

gawkでぐぐると、2.15時代の情報が上位に来ます。
vectorのエントリも2.15.4が最上位に来ています。
3.1.5を登録して2ヶ月強、1000件以上ダウンロードされている
ようですが、まだまだ2.15は強いんですかねえ。

まあ他の言語に移ってるという話もあるんでしょうが。

で、まずは2.15.4→3.1.5でどのくらい変わったのか、
NEWSファイルのエントリからめぼしいものを抜き出してみました。
Nifty時代にも一回やったことがあるような気がしますが(^^;

余裕があったら、asortとかmatchの新機能についても
ドキュメントとしてまとめたいと思います(で、ベクターの
ページにある説明文を直すと(^^;)

Changes from 3.1.4 to 3.1.5
---------------------------
--exec オプションの追加
index()、length()、substr()、match()がバイト単位でなくキャラクタ単位で動
作するようになった
length(array) が配列要素の数を返すようになった (POSIXモードでは不許可)

Changes from 3.1.3 to 3.1.4
---------------------------
POSIX の %F フォーマットをサポート
printf で 'フラグをサポート

Changes from 3.1.2 to 3.1.3
---------------------------
C形式のswitch文が使えるようになった(有効にしてコンパイルしたときのみ)

Changes from 3.1.1 to 3.1.2
---------------------------
WindowsでBINMODEが働くようになった
matchで第三引数引数を指定したときの動作
	match("the big dog", /([a-z]+) ([a-z]+) ([a-z]+)/, data)
    fills in variables:
    	data[1, "start"], data[1, "length"], and so on.
asortiが追加された

Changes from 3.1.0 to 3.1.1
---------------------------

Changes from 3.0.6 to 3.1.0
---------------------------
配列 PROCINFOの追加。これに伴い、I/Oでない /dev/xxx ファイルは obsolete
となった
mktimeが追加された
--gen-poオプションの追加
変数 BINMODEの追加
二単語に分かれている‘next file’はサポートされなくなった
|& による双方向パイプのオープンが可能になった
closeが省略可能な第二引数を取れるようになった
変数 LINTが追加された
--lint=fatalとしたり LINT="fatal"としたときに警告が発生したときエラーで
落ちるようになった
プロファイリング機能が追加された
関数 asortが追加された
matchがカッコによる部分式を配列の要素として格納する第三引数を取れるよう
になった
--dump-variablesオプションの追加

Changes from 3.0.5 to 3.0.6
---------------------------

Changes from 3.0.4 to 3.0.5
---------------------------
function foo(foo) がエラーになるようになった

Changes from 3.0.3 to 3.0.4
---------------------------

Changes from 3.0.2 to 3.0.3
---------------------------
--re-intervalオプションが動作するようになった

Changes from 3.0.1 to 3.0.2
---------------------------

Changes from 3.0.0 to 3.0.1
---------------------------
--posixオプションがinterval expressionを有効にするようになった

Changes from 2.15.6 to 3.0.0
----------------------------
--re-intervalオプションの追加
ユーザー定義関数に正規表現定数を渡すことがlint警告の対象となった
マニュアルが全面的に書き直された
gensub関数が追加された
--traditionalオプションが追加された
--lint-oldオプションが追加された
‘next file’が ‘nextfile’に変更された
IGNORECASEが正規表現演算だけでなく文字列比較にも適用されるようになった
RSが一文字以上のとき、正規表現として扱われるようになった
レコードターミネータが格納される変数 RTが追加された
FSが空文字列のとき(もしくはsplit()の第三引数が空文字列のとき)キャラクタ
ごとに分割するようになった(互換モードでは無効)

Changes from 2.15.5 to 2.15.6
-----------------------------
ターミナルから入力するときに RS="" を正しく処理するようになった
subとgsubがPOSIXに従うようになった
FSが""のときmawkやnawkと同様にレコード全体を$1に格納するようになった
ループの外側の‘continue’が互換モードのときのみ`next'と扱われるようになった
IGNORECASEへの代入がFIELDWISTHSを使っているときにFSを使ったフィールド分
割への移行をしないようになった
/./が改行にマッチするようになった
^と$が文字列中の改行には影響されず、文字列の先頭/末尾にのみマッチするよ
うになった

Changes from 2.15.4 to 2.15.5
-----------------------------
POSIXLY_CORRECTという環境変数が--posixを有効にするようになった
-- 
木村浩一
  I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
  mail kbk@...
	web  www.kt.rim.or.jp/~kbk/index.html#zakkicho
	     homepage3.nifty.com/farstar/