アカウント名:
パスワード:
$ cat template.txtInfo 0 32 64Warn 0 64 128Error 0 128 255
$ awk '{printf "#define %s %d\n", $1, NR }' < /tmp/template.txt#define Info 1#define Warn 2#define Error 3
$ awk 'BEGIN{ print "static const ColorInfos colorInfos[] = {"}{printf "{%s,%s,%s},\n", $1,$2,$3} END{print "};";}' < /tmp/template.txtstatic const ColorInfos colorInfos[] = {{Info,0,32},{Warn,0,64},{Error,0,128},};
と言う感じで後は Makefile で
header.h: template.txt awk '....' > header.h aw
なるほどジェネレータ自体は簡単に簡単に書けるのですね。ありがとうございます。
// 私はまだawk使えていませんが。最近やっとsedの便利さがわかってきた
流れ作業でせいぜいパイプに渡す前に一つのことしかしないプリミティブな処理をえんえんと並べて得られたものを見て
「あたま悪いな。でも使い捨てだからこれで構わないし。」
と自己評価を現状維持以上に肯定してくれるお友達扱いできます。
// あくまでわたしの場合。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
awkとかperlでソースコードを自動生成 (スコア:0)
$ cat template.txt
Info 0 32 64
Warn 0 64 128
Error 0 128 255
$ awk '{printf "#define %s %d\n", $1, NR }' < /tmp/template.txt
#define Info 1
#define Warn 2
#define Error 3
$ awk 'BEGIN{ print "static const ColorInfos colorInfos[] = {"}{printf "{%s,%s,%s},\n", $1,$2,$3} END{print "};";}' < /tmp/template.txt
static const ColorInfos colorInfos[] = {
{Info,0,32},
{Warn,0,64},
{Error,0,128},
};
と言う感じで後は Makefile で
header.h: template.txt
awk '....' > header.h
aw
Re: (スコア:2)
なるほどジェネレータ自体は簡単に簡単に書けるのですね。
ありがとうございます。
// 私はまだawk使えていませんが。最近やっとsedの便利さがわかってきた
Re:awkとかperlでソースコードを自動生成 (スコア:1)
流れ作業でせいぜいパイプに渡す前に一つのことしかしないプリミティブな処理をえんえんと並べて得られたものを見て
「あたま悪いな。でも使い捨てだからこれで構わないし。」
と自己評価を現状維持以上に肯定してくれるお友達扱いできます。
// あくまでわたしの場合。