BBS-BBS/58

トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

awke - さいとう (2007年05月23日 00時03分30秒)

awk の拡張だそうです。

取り急ぎ、メモで書いておきます。

http://www.awke.org/

Re: - さいとう (2007年05月23日 00時08分49秒)

Ed Morton らは gawk の拡張にしないかと誘っているようですね。

これも、取り急ぎ。

Re:awke の拡張関数について (翻訳してみた) - さいとう (2007年05月23日 23時42分30秒)

awke の特徴のひとつである追加関数を以下に翻訳して置きます。UNIX 環境または gawk なら自己解決できそうなものばかりですが・・・。

date()
人間が可読できる形式で現在の日付と時間を返しますが、システムの設定とロケールに従います。引数のない /usr/bin/date と同じです。
dumpArray(array)
配列の内容を標準出力にダンプします。デバッグに有益です。内容は根本的に awk が配列に保存しているデータの順序でダンプされます。
hilite(aString)
デフォルトカラーを使って文字列をハイライトさせます。戻り値: ハイライトの文字列は標準の awk 関数を使って表示可能な文字列。
hiliteColor(aString, aColor)
hilite(aString) と同様ですが、ユーザーは使用する色を指定できます。aColor は HL_RED, HL_GREEN などのように、HL_XXXXXX として特定される定数のひとつを用いる必要があります。戻り値: ハイライトの文字列は標準の awk 関数を使って表示可能な文字列。
hiliteDefault(aColor)
hilite() 関数のための標準の色を指定します。指定されるまでは、HL_YELLOW が標準です。aColor は HL_RED, HL_GREEN などのように、HL_XXXXXX として特定される定数のひとつを用いる必要があります。
now()
現在の時間と日付を基準時点からの秒数で返します。この関数はタイマーを作る時に有益です。
quicksort(array, nElementsCount?)
再帰的ではないクイックソート。この関数は基本的に数値として処理するように定義されていますが、ほとんどの場合には、辞書順として動作します。つまり配列の内容は数値としても文字列でも使えます。quicksort() の振る舞いは数値と文字列を含んだ配列の内容には不向きです。配列は内部的にソートされ、関数は配列の中にどれだけの要素があるかを特定するのに nElementsCount? を必要とします。
sleep(nSeconds)
現時点で sleep する値を nSeconds で入力します。秒単位の精度で、/usr/bin/sleep のコールの制限とシステム依存によります。
substitute(r, s, h, t)
gawk/gensub() の置き換え。拡張された正規表現 r にマッチするようにターゲット文字列 t を探します。もし h が 'g' または 'G' であれば、r を s で全て置き換えます。そうでなければ、h はどの r にマッチしたものを置き換えるかを示す番号になります。テキスト s を置き換える際に、順序 n、ここで n は 1 から 9 までの数字ですが、n 番目に挿入されたサブ表現 (subexpression) にマッチするテキストのみを指定します。順序 0 は完全にマッチしたテキストを示し、文字 & として振舞います。変更された文字列は返されて t 自体は変更されません。r は文字列として記述します (例えば /(.).\1/ の代わりに "(.).\\1" となります)。

Re: - さいとう (2007年05月23日 23時54分22秒)

面白そうなのが、非再帰 Quick Sort かな。そこまでこだわる理由は分かりません。

{{comment multi|w}}