腐っても鯛? 騏も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語AWKについて語るスレ
◆ 前スレ
awkについて語るスレ
http://pc10.2ch.net/test/read.cgi/tech/1023556171/
◆ 関係スレ
シェルスクリプト相談室
http://pc10.2ch.net/test/read.cgi/tech/1112553783/
AWKでCGI
http://pc10.2ch.net/test/read.cgi/php/1171804314/
【sed】シェルスクリプト総合@LINUX Part2【awk】
http://pc10.2ch.net/test/read.cgi/linux/1154578200/
◆ 参考
The AWK Programming Language (Brian Kernighan):
ttp://cm.bell-labs.com/cm/cs/awkbook/index.html
GAWK (GNU Projedt):
ttp://www.gnu.org/software/gawk/
探検
awkについて語るスレ $2
■ このスレッドは過去ログ倉庫に格納されています
2007/02/23(金) 23:55:42
606デフォルトの名無しさん
2011/06/02(木) 10:09:14.37607デフォルトの名無しさん
2011/06/02(木) 22:47:31.10 πはatan2(0,-1)でいいとして
「0より大きい最小の浮動小数点数」ってどう定義していつ使うの?
「0より大きい最小の浮動小数点数」ってどう定義していつ使うの?
608デフォルトの名無しさん
2011/06/03(金) 13:48:37.95 「0より大きい最小の浮動小数点数」というのが何を希望しているかによる。
以下の3種類がある。
(1) 最小の正の非正規数
(2) 最小の正の正規数
(3) 1.0に足して丸めた結果が1.0より大きくなる最小の数
以下の3種類がある。
(1) 最小の正の非正規数
(2) 最小の正の正規数
(3) 1.0に足して丸めた結果が1.0より大きくなる最小の数
609デフォルトの名無しさん
2011/06/03(金) 23:58:11.26610デフォルトの名無しさん
2011/06/04(土) 09:41:48.63 DBL_EPSILONが>>608の(1)〜(3)のどれかわからない?
数値計算の基本なんだが。
数値計算の基本なんだが。
611デフォルトの名無しさん
2011/06/10(金) 21:49:33.34 変数名など、自前であっても規則を意識している方いますか?
awkだと、C風が一般的なのでしょうか?
一番最初がVBAだったので、長い名前と省略が混ざってしまって
自分でイライラしています。
みなさんの、通常の変数はこう、配列はこう、定数はこう、文字型はこう・・・
というものを参考にしたいです。
awkだと、C風が一般的なのでしょうか?
一番最初がVBAだったので、長い名前と省略が混ざってしまって
自分でイライラしています。
みなさんの、通常の変数はこう、配列はこう、定数はこう、文字型はこう・・・
というものを参考にしたいです。
612デフォルトの名無しさん
2011/06/10(金) 22:10:28.97 >>611
システムハンガリアンを採用するかどうか悩むほど大きなものをawkで書いたことが無い
システムハンガリアンを採用するかどうか悩むほど大きなものをawkで書いたことが無い
613かあた
2011/06/13(月) 18:37:34.88 、5なわやあふぉt( ())
614デフォルトの名無しさん
2011/06/15(水) 21:51:26.93 >>611
遅レスだが、型_内容の説明_名前みたくしてる。名前が一文字だとそのままだけど。
グローバル変数とローカル変数のどっち弄ってるのか分かりやすいように、ローカル変数は必ずlで始めるようにしてる。
d_per_shouhizei = 5.0とかね。
遅レスだが、型_内容の説明_名前みたくしてる。名前が一文字だとそのままだけど。
グローバル変数とローカル変数のどっち弄ってるのか分かりやすいように、ローカル変数は必ずlで始めるようにしてる。
d_per_shouhizei = 5.0とかね。
615デフォルトの名無しさん
2011/06/20(月) 18:37:26.17 gawkでBINMODEを設定すればバイナリーの入出力ができるのはわかるのですが、
入力されたバイナリーを16進ダンプして表示するにはどうしたらよいでしょうか?
od等の外部コマンドを使う意外に方法があればお教えください。
入力されたバイナリーを16進ダンプして表示するにはどうしたらよいでしょうか?
od等の外部コマンドを使う意外に方法があればお教えください。
616デフォルトの名無しさん
2011/06/20(月) 19:17:07.50 printf("%02x\n", $1);
617天使 ◆uL5esZLBSE
2011/07/05(火) 00:15:13.83 二度と話かけんなよ
お前らってどうみてもゴミだよな
お前らってどうみてもゴミだよな
618デフォルトの名無しさん
2011/07/06(水) 14:04:55.24 ゴミんなさい
619デフォルトの名無しさん
2011/07/14(木) 23:55:15.84 >>595
gawk4.0.0でa[0][0]=1も可能になったじゃないか
gawk4.0.0でa[0][0]=1も可能になったじゃないか
620デフォルトの名無しさん
2011/07/30(土) 19:46:15.81 超初心者の質問で申し訳ありません。以下のようなデータを
aaa 10
bbb 20
ccc 30
aaa 30
bbb 30
aaa 15
ccc 30
ddd 20
以下のようにまとめたいのですが、どうしたらいいでしょうか?
aaa 55
bbb 50
ccc 60
ddd 25
aaa 10
bbb 20
ccc 30
aaa 30
bbb 30
aaa 15
ccc 30
ddd 20
以下のようにまとめたいのですが、どうしたらいいでしょうか?
aaa 55
bbb 50
ccc 60
ddd 25
621デフォルトの名無しさん
2011/07/30(土) 19:53:38.97 ddd 20 ではないかと思うがこんな感じかな
awk '{a[$1]+=$2} END {for (b in a) {print b " " a[b]}}' | sort
awk '{a[$1]+=$2} END {for (b in a) {print b " " a[b]}}' | sort
622デフォルトの名無しさん
2011/07/30(土) 23:15:27.52 Gawk4ならPROCINFO["sorted_in"]の設定で最後のsortが要らなくなる
623620
2011/07/30(土) 23:22:20.03 >621
ありがとうございます!うまくいきました。
ありがとうございます!うまくいきました。
624デフォルトの名無しさん
2011/07/31(日) 15:24:48.76 gawkはもう別言語なイメージ。普段mawk使ってると
625デフォルトの名無しさん
2011/08/16(火) 22:48:21.64 ここって生きてますか?
626デフォルトの名無しさん
2011/08/18(木) 01:56:26.63 生きてますん
627デフォルトの名無しさん
2011/08/19(金) 00:53:44.39 生きていることを願って質問を。
WIN32のEXE一つで、下のTEST.AWKがマトモに動くAWKを探しています。
これら以外にありますか?
http://hinadori.atnifty.com/~wills/program/gawkm115.zip
http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/376460/pack/win95/util/text/awk/gawk-mbcs-win32-20051223.zip?ds
http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/80308/pack/win95/util/text/awk/mw32r27.lzh?ds
Cygwin版も試したのですがダメでした。
TEST.AWK
{ gsub("[0-9]","x",$0) ; gsub("ソ","ソ",$0) ; gsub("T","T",$0) ; print }
TEST.DAT
アイウエオカキクケコサシスセソ
ココココサフサコココココ
ココココサフサココココ
ココココサフサコココココ
ココココサフサコココココ
サフサフサフサフサフサ
ココココサフサコココココ
ココココサフサココココ
ココココサフサコココココ
ココココサフサコココココ
サフサフサフサフサフサ
WIN32のEXE一つで、下のTEST.AWKがマトモに動くAWKを探しています。
これら以外にありますか?
http://hinadori.atnifty.com/~wills/program/gawkm115.zip
http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/376460/pack/win95/util/text/awk/gawk-mbcs-win32-20051223.zip?ds
http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/80308/pack/win95/util/text/awk/mw32r27.lzh?ds
Cygwin版も試したのですがダメでした。
TEST.AWK
{ gsub("[0-9]","x",$0) ; gsub("ソ","ソ",$0) ; gsub("T","T",$0) ; print }
TEST.DAT
アイウエオカキクケコサシスセソ
ココココサフサコココココ
ココココサフサココココ
ココココサフサコココココ
ココココサフサコココココ
サフサフサフサフサフサ
ココココサフサコココココ
ココココサフサココココ
ココココサフサコココココ
ココココサフサコココココ
サフサフサフサフサフサ
628627
2011/08/19(金) 01:00:20.60 TEST.DATは、空白が入っています。
専ブラのポップアップをコピペして下さい。
専ブラのポップアップをコピペして下さい。
629デフォルトの名無しさん
2011/08/19(金) 06:26:54.92 ウチに帰ってから調べてみるよ
630デフォルトの名無しさん
2011/08/19(金) 11:02:41.54631デフォルトの名無しさん
2011/08/19(金) 11:55:06.25 (CygwinならUTF8じゃないとうまく動かないけど)Shift JISで動作させたいってことかな?
事前にTEST.DATをnkf -wに通したら駄目かな。
事前にTEST.DATをnkf -wに通したら駄目かな。
632629
2011/08/19(金) 21:59:57.43 >>627
スクリプトもDATもSJISで試したけど、上記3つのうち、gawk-mbcs-win32-20051223.zipはダメだったよ。
1行目がこんなんなる。
アxxエオカキクxコサxxxソ
手持ちの
GNU Awk 3.1.7(windows special Nov 24 2009)
で、--ctype=SJISやっても同じ結果になるね。
スクリプト、DATをUTF-8にして、--ctype=UTF8やってリダイレクトしたファイルは正常な結果が出るよ。
リダイレクトしないでコマンドプロンプトに表示させると化けるけど。
スクリプトもDATもSJISで試したけど、上記3つのうち、gawk-mbcs-win32-20051223.zipはダメだったよ。
1行目がこんなんなる。
アxxエオカキクxコサxxxソ
手持ちの
GNU Awk 3.1.7(windows special Nov 24 2009)
で、--ctype=SJISやっても同じ結果になるね。
スクリプト、DATをUTF-8にして、--ctype=UTF8やってリダイレクトしたファイルは正常な結果が出るよ。
リダイレクトしないでコマンドプロンプトに表示させると化けるけど。
633デフォルトの名無しさん
2011/08/19(金) 23:18:25.14 EUCなら半角カナもうまくやってくれるんだが…
634デフォルトの名無しさん
2011/08/24(水) 08:07:37.54 gawkはガンガン機能を拡張してるけど、
そろそろOOP対応してくれないかな。
awk++とかあるけど、標準でOOPできれは便利。
そろそろOOP対応してくれないかな。
awk++とかあるけど、標準でOOPできれは便利。
635デフォルトの名無しさん
2011/08/24(水) 22:44:37.24 > OOP
...もはやawkでやる意味が無いw 他にいくらでもある別の言語でいいじゃん
...もはやawkでやる意味が無いw 他にいくらでもある別の言語でいいじゃん
636デフォルトの名無しさん
2011/08/25(木) 01:14:17.45 awkに在ると便利かもと思うのは参照値くらいかな
配列や関数への参照を値として取り出し格納したり
逆にその値から元の配列にアクセスしたり元の関数を呼んだり出来ると
相当に複雑なデータ構造が表現可能になる、それこそOOPっぽいことも可能だし
でもあんまりややこしいことやるならPerlでいいから必須ではないね
配列や関数への参照を値として取り出し格納したり
逆にその値から元の配列にアクセスしたり元の関数を呼んだり出来ると
相当に複雑なデータ構造が表現可能になる、それこそOOPっぽいことも可能だし
でもあんまりややこしいことやるならPerlでいいから必須ではないね
637デフォルトの名無しさん
2011/08/25(木) 02:28:23.99 > 関数を呼んだり
変数の値を関数名として
var = "sage";
@var();
ってできるけど、それとは違うのん?
変数の値を関数名として
var = "sage";
@var();
ってできるけど、それとは違うのん?
638デフォルトの名無しさん
2011/08/25(木) 04:07:56.67 およ、もうあるのかw
最近のawkは分からねえ…ってことは、配列への参照を使って入れ子の配列とか既に作れちゃったりするのか?
最近のawkは分からねえ…ってことは、配列への参照を使って入れ子の配列とか既に作れちゃったりするのか?
639デフォルトの名無しさん
2011/08/25(木) 10:56:54.36 配列の配列は作れるよ。gawk4なら。
640デフォルトの名無しさん
2011/08/25(木) 19:51:33.84 (´_ゝ`)フーン
641デフォルトの名無しさん
2011/08/25(木) 20:52:51.07 class human {
property name
property sex
property age
method new(x, y, z) {
name = x
sex = y
age = z
}
method say() {
printf("私は%s。%d歳の%sです。\n",name, age, sex)
}
}
class japanese : human {
property name
property sex
property age
method say() {
printf("私は%s。%d歳の%sです。国籍は日本です。\n", name, age, sex)
}
}
BEGIN {
alice = human.new("アリス", "女", 11)
taro = japanese.new("太郎", "男", 15)
yuka = japanese.new("由佳", "女", 18)
alice.say()
taro.say()
yuka.say()
}
property name
property sex
property age
method new(x, y, z) {
name = x
sex = y
age = z
}
method say() {
printf("私は%s。%d歳の%sです。\n",name, age, sex)
}
}
class japanese : human {
property name
property sex
property age
method say() {
printf("私は%s。%d歳の%sです。国籍は日本です。\n", name, age, sex)
}
}
BEGIN {
alice = human.new("アリス", "女", 11)
taro = japanese.new("太郎", "男", 15)
yuka = japanese.new("由佳", "女", 18)
alice.say()
taro.say()
yuka.say()
}
642641
2011/08/25(木) 20:58:10.41 >>635
http://code.google.com/p/lawker/source/browse/fridge/lib/bash/awk%2B%2B/
これを使えばこの程度のOOPはどうにかできる。
本当にこの程度でいいからOOPに対応してほしい。
使う人はほとんどいないと思うが、全くできないのも困る。
http://code.google.com/p/lawker/source/browse/fridge/lib/bash/awk%2B%2B/
これを使えばこの程度のOOPはどうにかできる。
本当にこの程度でいいからOOPに対応してほしい。
使う人はほとんどいないと思うが、全くできないのも困る。
643デフォルトの名無しさん
2011/08/25(木) 22:07:53.46 それは最早awkである必要が全く無い
644デフォルトの名無しさん
2011/08/26(金) 06:00:04.19 function Human(self,name,sex,age) {
self["property___name"] = name
self["property___sex"] = sex
self["property___age"] = age
self["method___say"] = "Human___say"
}
function Human___say(self) {
printf "私は%s。%d歳の%sです。\n", self["property___name"], self["property___age"], self["property___sex"]
}
function Japanese(self,name,sex,age) {
Human(self,name,sex,age)
self["method___say"] = "Japanese___say"
}
function Japanese___say(self) {
printf "私は%s。%d歳の%sです。国籍は日本です。\n", self["property___name"], self["property___age"], self["property___gender"]
}
function methodcall(obj,methodname, m) {
m = obj["method___" methodname]
@m(obj)
}
BEGIN {
Human(alice, "アリス", "女", 11)
Japanese(taro, "太郎", "男", 15)
Japanese(yuka, "由佳", "女", 18)
methodcall(alice,"say")
methodcall(taro,"say")
methodcall(yuka,"say")
}
self["property___name"] = name
self["property___sex"] = sex
self["property___age"] = age
self["method___say"] = "Human___say"
}
function Human___say(self) {
printf "私は%s。%d歳の%sです。\n", self["property___name"], self["property___age"], self["property___sex"]
}
function Japanese(self,name,sex,age) {
Human(self,name,sex,age)
self["method___say"] = "Japanese___say"
}
function Japanese___say(self) {
printf "私は%s。%d歳の%sです。国籍は日本です。\n", self["property___name"], self["property___age"], self["property___gender"]
}
function methodcall(obj,methodname, m) {
m = obj["method___" methodname]
@m(obj)
}
BEGIN {
Human(alice, "アリス", "女", 11)
Japanese(taro, "太郎", "男", 15)
Japanese(yuka, "由佳", "女", 18)
methodcall(alice,"say")
methodcall(taro,"say")
methodcall(yuka,"say")
}
645デフォルトの名無しさん
2011/08/26(金) 06:01:35.02 ごめん一部genderになってるからsexに直しといて
とりあえず、こんな感じでgawk4でもOOP自体は出来るよって話
とりあえず、こんな感じでgawk4でもOOP自体は出来るよって話
646デフォルトの名無しさん
2011/08/27(土) 15:07:17.61647デフォルトの名無しさん
2011/08/27(土) 15:58:44.09 やっぱ別言語使うべきだろ
648デフォルトの名無しさん
2011/08/27(土) 16:10:36.72 本当に欲しいんなら、gawkのMLにこうすればOOP実現できることを発見したんだけど、
これの糖衣構文を用意してくれって投稿するといいんじゃね
switchも実装されてるし、欲しい人が居ると分かれば付けてくれるかもよ
これの糖衣構文を用意してくれって投稿するといいんじゃね
switchも実装されてるし、欲しい人が居ると分かれば付けてくれるかもよ
649デフォルトの名無しさん
2011/08/27(土) 16:25:08.65 #! /usr/bin/env python
# -*- coding: utf-8 -*-
class human:
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
def say(self):
print("私は" + self.name + "。" + str(self.age) + "歳の" + self.sex + "です。")
class japanese(human):
def __init(self):
super(human, self).__init__(self)
def say(self):
print("私は" + self.name + "。" + str(self.age) + "歳の" + self.sex + "です。国籍は日本です。")
if __name__ == "__main__":
alice = human("アリス", "女", 11)
taro = japanese("太郎", "男", 15)
yuka = japanese("由佳", "女", 18)
alice.say()
taro.say()
yuka.say()
# -*- coding: utf-8 -*-
class human:
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
def say(self):
print("私は" + self.name + "。" + str(self.age) + "歳の" + self.sex + "です。")
class japanese(human):
def __init(self):
super(human, self).__init__(self)
def say(self):
print("私は" + self.name + "。" + str(self.age) + "歳の" + self.sex + "です。国籍は日本です。")
if __name__ == "__main__":
alice = human("アリス", "女", 11)
taro = japanese("太郎", "男", 15)
yuka = japanese("由佳", "女", 18)
alice.say()
taro.say()
yuka.say()
650デフォルトの名無しさん
2011/08/27(土) 16:26:25.23651デフォルトの名無しさん
2011/08/27(土) 16:53:49.92 そりゃawkはOOPLではないからな
あくまでシェルのお供でいいと思うんだ
そしてそこに高度なOOP機能は要るとは思えない
どちらかと言えばフィールド抽出とかをもっと便利にすべきだよ
あくまでシェルのお供でいいと思うんだ
そしてそこに高度なOOP機能は要るとは思えない
どちらかと言えばフィールド抽出とかをもっと便利にすべきだよ
652デフォルトの名無しさん
2011/09/17(土) 15:34:39.29 cygwin以外でgawk4.0をwindowsで使おうと思ったら、バイナリはどこで入手できもうすかね?
653デフォルトの名無しさん
2011/09/17(土) 16:28:58.78 cygwin で駄目な理由が分からないから教えられない。
654デフォルトの名無しさん
2011/09/18(日) 08:02:36.95655デフォルトの名無しさん
2011/09/19(月) 13:00:55.06 >654 さんくすこ
>653 awkの実行形式だけ入手すれば良いようにしたいのさ。
>653 awkの実行形式だけ入手すれば良いようにしたいのさ。
656デフォルトの名無しさん
2011/09/19(月) 14:01:43.39 バイナリ互換のWindowsなのに、cygwinてexeをもってくだけじゃ使えないの?
657デフォルトの名無しさん
2011/09/19(月) 16:07:37.39 物によっては使えたような気がする。
cygwin1.dllだっけ?にパスが通ってれば大体使えたような気がする。
cygwin1.dllだっけ?にパスが通ってれば大体使えたような気がする。
658デフォルトの名無しさん
2011/09/19(月) 17:00:12.76 結構沢山のdllが要るよ
コマンドによるけど
コマンドによるけど
659デフォルトの名無しさん
2011/10/24(月) 01:55:49.24 教えてください。英語得意な人
http://www.gnu.org/s/gawk/manual/gawk.html#Array-Sorting-Functions
の asort(), asorti()で使うユーザー定義の比較関数について
3番目の引数とPROCINFO["sorted_in"]に設定するのと違うのか同じなのか?
それと
http://www.gnu.org/s/gawk/manual/gawk.html#String-Functions
に書いてある3番目の引数の説明("descending"とか)が両立してんの?
http://www.gnu.org/s/gawk/manual/gawk.html#Array-Sorting-Functions
の asort(), asorti()で使うユーザー定義の比較関数について
3番目の引数とPROCINFO["sorted_in"]に設定するのと違うのか同じなのか?
それと
http://www.gnu.org/s/gawk/manual/gawk.html#String-Functions
に書いてある3番目の引数の説明("descending"とか)が両立してんの?
660デフォルトの名無しさん
2011/10/24(月) 11:34:13.18 http://www.gnu.org/s/gawk/manual/gawk.html#Array-Sorting-Functions
As with PROCINFO["sorted_in"], this argument may be the name of a user-defined function, ....
http://www.gnu.org/s/gawk/manual/gawk.html#String-Functions
The third argument can also be a user-defined function name ....
第三引数の値と同名の関数が定義済みならそれを利用するとか、
そういう方法で区別してるんじゃないの
As with PROCINFO["sorted_in"], this argument may be the name of a user-defined function, ....
http://www.gnu.org/s/gawk/manual/gawk.html#String-Functions
The third argument can also be a user-defined function name ....
第三引数の値と同名の関数が定義済みならそれを利用するとか、
そういう方法で区別してるんじゃないの
661デフォルトの名無しさん
2011/10/24(月) 13:33:04.59 >>659
比較関数の与え方はPROCINFO["sorted_in"]の場合と同じってことだろ。
自分で定義した関数の名前でもいいし、11.2.1.2に書いてあるようにすでに用意
されている@〜を使ってもいい。
比較関数の与え方はPROCINFO["sorted_in"]の場合と同じってことだろ。
自分で定義した関数の名前でもいいし、11.2.1.2に書いてあるようにすでに用意
されている@〜を使ってもいい。
662デフォルトの名無しさん
2011/11/14(月) 21:59:05.28 個人的には、GAWKにはあと、Cで書いた関数の呼び出しというか
GAWKで呼ぶ関数をCで書ける機能が欲しいと思ってるんだけど、
ここ見る限り世間的にはあんまり需要ないんかねぇ。
まぁ、それやるくらいならGAWK自体に変更を加えて再コンパイルしろってことかもしれないけど。
GAWKで呼ぶ関数をCで書ける機能が欲しいと思ってるんだけど、
ここ見る限り世間的にはあんまり需要ないんかねぇ。
まぁ、それやるくらいならGAWK自体に変更を加えて再コンパイルしろってことかもしれないけど。
663デフォルトの名無しさん
2011/11/15(火) 01:44:31.01 PとかR使え言われると思う。
664デフォルトの名無しさん
2011/11/15(火) 01:58:32.43 >>662
ttp://www.gnu.org/s/gawk/manual/html_node/Dynamic-Extensions.html
じゃダメ?将来的にさらに拡張される可能性はあるみたいだけど
ttp://www.gnu.org/s/gawk/manual/html_node/Dynamic-Extensions.html
じゃダメ?将来的にさらに拡張される可能性はあるみたいだけど
665デフォルトの名無しさん
2011/12/09(金) 00:35:09.18 最近awkcardを知って座右に置いてるのだが、日本語版って存在するのだろうか。
666デフォルトの名無しさん
2011/12/22(木) 16:57:35.32 ttp://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_271
ここに書いてある通りにしても日本語に翻訳されません
どうしてですか?
環境は LinuxMint12 、 GNU Awk 3.1.8 です
ここに書いてある通りにしても日本語に翻訳されません
どうしてですか?
環境は LinuxMint12 、 GNU Awk 3.1.8 です
667デフォルトの名無しさん
2011/12/22(木) 18:01:49.60 >>666
その通りにやったと言うのなら、何故poファイルを提示しないのかね、ダミアン君。
その通りにやったと言うのなら、何故poファイルを提示しないのかね、ダミアン君。
668デフォルトの名無しさん
2011/12/22(木) 18:07:45.38 >>667
poは作成しましたし、moも所定のディレクトリにあります。
poは自分で編集しても、そのサイトの内容をコピペしてもダメでした。
$ cat gettext.po
#: gettext.awk:10
msgid "********** Count Prime Number **********"
msgstr "========== 素数を数える =========="
#: gettext.awk:14
msgid "2 is a prime number."
msgstr "2 は素数です。"
#: gettext.awk:24
msgid "%d is a prime number.\n"
""
msgstr "%d は素数です。\n"
$ ls ja_JP/LC_MESSAGES/
gettext.mo
poは作成しましたし、moも所定のディレクトリにあります。
poは自分で編集しても、そのサイトの内容をコピペしてもダメでした。
$ cat gettext.po
#: gettext.awk:10
msgid "********** Count Prime Number **********"
msgstr "========== 素数を数える =========="
#: gettext.awk:14
msgid "2 is a prime number."
msgstr "2 は素数です。"
#: gettext.awk:24
msgid "%d is a prime number.\n"
""
msgstr "%d は素数です。\n"
$ ls ja_JP/LC_MESSAGES/
gettext.mo
669デフォルトの名無しさん
2011/12/22(木) 18:10:02.43 結果はこの通りです。
$ LC_ALL=ja_JP gawk -f gettext.awk 10
********** Count Prime Number **********
2 is a prime number.
3 is a prime number.
5 is a prime number.
7 is a prime number.
$ LC_ALL=ja_JP gawk -f gettext.awk 10
********** Count Prime Number **********
2 is a prime number.
3 is a prime number.
5 is a prime number.
7 is a prime number.
670デフォルトの名無しさん
2012/01/12(木) 13:56:36.33 ずいぶんawkから離れていて久しぶりに使ったら
nawkに日本語のバグがあることにしばらく気づかなかった
substr()でutf-8のテキストを切り出すとおかしな値になる
gawkでは直っている
nawkに日本語のバグがあることにしばらく気づかなかった
substr()でutf-8のテキストを切り出すとおかしな値になる
gawkでは直っている
671デフォルトの名無しさん
2012/01/12(木) 19:50:49.28 そもそもUTF-8に対応してたっけ
672デフォルトの名無しさん
2012/01/13(金) 00:28:07.37 ttp://blog.livedoor.jp/corbie/archives/cat_94960.html
残念ながら、シフトJIS、UTF-8両方で正常に動作しそうなWindows版gawkは候補の中にありませんでした。
残念ながら、シフトJIS、UTF-8両方で正常に動作しそうなWindows版gawkは候補の中にありませんでした。
673デフォルトの名無しさん
2012/01/13(金) 07:52:50.95 Linuxでは普通に動くが…
674デフォルトの名無しさん
2012/04/29(日) 21:07:39.93 ファイル名が"*.txt"の一覧を取得するとき、"\.txt"でマッチさせると、任意の一文字.(ドット)と解釈されてしまうんですが、いい方法無いでしょうか?
675デフォルトの名無しさん
2012/04/29(日) 22:04:14.36 GNU Awk 3.1.7だとドットにマッチしたけどそもそもawkの話?
具体的にコマンドがほしいな
具体的にコマンドがほしいな
676デフォルトの名無しさん
2012/04/29(日) 22:08:23.01 昭和の頃覚えたアセンブラとC言語
これがあったから
いまだに自分が損な業界で飯を食ってる
これがあったから
いまだに自分が損な業界で飯を食ってる
677デフォルトの名無しさん
2012/04/29(日) 22:36:10.83 >>676
そこからjavaに行ってスマホアプリ開発ならもう一花咲いたかもしれませんねw
そこからjavaに行ってスマホアプリ開発ならもう一花咲いたかもしれませんねw
678デフォルトの名無しさん
2012/04/29(日) 23:09:38.43 馬鹿には無理
679674
2012/04/30(月) 18:07:43.22 >>675
ls | awk '{ if( match($0,"\.txt") > 0) print $0 }'
↑会社のサーバ上でこんな感じのことやろうとしてたんですが、
「gawk: 警告: エスケープシーケンス `\.' は `.' と同等に扱われます」
とメッセージが出力され、ドットが任意の一文字?と解釈されて困っていましたが、
自己解決しました。(自宅のLinuxPCで動作確認しました。GAWK3.1.7及び4.0.1)
"\.txt"では無くて、".txt"で良かったんですね。
お騒がせしました。
もしかしたら、会社のサーバ(RHEL)のGAWKが古くて解決できてないかもしれませんが。
ls | awk '{ if( match($0,"\.txt") > 0) print $0 }'
↑会社のサーバ上でこんな感じのことやろうとしてたんですが、
「gawk: 警告: エスケープシーケンス `\.' は `.' と同等に扱われます」
とメッセージが出力され、ドットが任意の一文字?と解釈されて困っていましたが、
自己解決しました。(自宅のLinuxPCで動作確認しました。GAWK3.1.7及び4.0.1)
"\.txt"では無くて、".txt"で良かったんですね。
お騒がせしました。
もしかしたら、会社のサーバ(RHEL)のGAWKが古くて解決できてないかもしれませんが。
680デフォルトの名無しさん
2012/04/30(月) 20:27:16.48 >>679
match() の第二引数に文字列を与えた場合は事前に正規表現への型変換が行われるが、
その際にエスケープが外れて /.txt/ と同等になってしまう、 ということかと。
つまり "\\.txt" とするか、 正規表現の /\.txt/ を与えればよい。
The GNU Awk User's Guide にもこの現象についての説明はあるが、
~ !~ 演算子についてしか触れられていない。
ttp://www.kt.rim.or.jp/~kbk/gawk-30/gawk_5.html#SEC32
match() の第二引数に文字列を与えた場合は事前に正規表現への型変換が行われるが、
その際にエスケープが外れて /.txt/ と同等になってしまう、 ということかと。
つまり "\\.txt" とするか、 正規表現の /\.txt/ を与えればよい。
The GNU Awk User's Guide にもこの現象についての説明はあるが、
~ !~ 演算子についてしか触れられていない。
ttp://www.kt.rim.or.jp/~kbk/gawk-30/gawk_5.html#SEC32
681デフォルトの名無しさん
2012/05/24(木) 00:27:31.74 gawk4.0.2付属の原版ではmatchの説明にもその辺触れられてるね。
http://www.gnu.org/software/gawk/manual/html_node/String-Functions.html#String-Functions
誰かこのバージョン日本語化してないかな。
http://www.gnu.org/software/gawk/manual/html_node/String-Functions.html#String-Functions
誰かこのバージョン日本語化してないかな。
682デフォルトの名無しさん
2012/07/12(木) 02:26:40.35 FIFOな感じの先入れ先出しのバッファには何使えばいい?
というか、
Arrayで、たとえばA[3] からA[8]までのデータをA[1]からA[6]に動かすには何が一番早い?
できれば配列は1つしか使いたくないのだが、無理だろうか…
というか、
Arrayで、たとえばA[3] からA[8]までのデータをA[1]からA[6]に動かすには何が一番早い?
できれば配列は1つしか使いたくないのだが、無理だろうか…
683デフォルトの名無しさん
2012/07/12(木) 09:23:22.92 速さを求めるなら毎度全要素ずらすより、読み出し位置と書き込み位置の添字持って
管理した方がたいてい速い
管理した方がたいてい速い
684デフォルトの名無しさん
2012/07/12(木) 10:14:32.78 awkには連想配列しかないしな
685デフォルトの名無しさん
2012/07/14(土) 14:35:06.22 リングバッファで何とかなるならリングバッファかな
686デフォルトの名無しさん
2012/07/14(土) 22:27:17.73 >>682
BEGIN{
QMAX=3
QTopPos=0;QTailPos=0;QNum=0;
deQ();
enQ("1");deQ();
enQ("a");enQ("b");enQ("c");enQ("x");deQ();deQ();deQ();deQ();
}
function enQ(PushVal){
if (QNum+1 > QMAX){print "おなかいっぱい"; return;}
nextPos = (QTopPos+1) % QMAX;
queue[QTopPos] = PushVal;
QTopPos=nextPosQNum++;
}
function deQ(){
if (QNum < 1){print "からっぽ"; return}
QNum--; TailVal=queue[QTailPos]
QTailPos = (QTailPos +1) % QMAX;
print TailVal;
return TailVal;
}
BEGIN{
QMAX=3
QTopPos=0;QTailPos=0;QNum=0;
deQ();
enQ("1");deQ();
enQ("a");enQ("b");enQ("c");enQ("x");deQ();deQ();deQ();deQ();
}
function enQ(PushVal){
if (QNum+1 > QMAX){print "おなかいっぱい"; return;}
nextPos = (QTopPos+1) % QMAX;
queue[QTopPos] = PushVal;
QTopPos=nextPosQNum++;
}
function deQ(){
if (QNum < 1){print "からっぽ"; return}
QNum--; TailVal=queue[QTailPos]
QTailPos = (QTailPos +1) % QMAX;
print TailVal;
return TailVal;
}
687686
2012/07/14(土) 22:54:06.64 ↑の結果はこんな感じ。
>からっぽ
>1
>おなかいっぱい
>a
>b
>c
>からっぽ
>>685の書いているリングバッファ実装です。
enqueue,dequeue回数が多いならリングバッファで良いと思う。
大抵の場合はQMAXに大きな値を設定すれば事足りるハズだけど
上限が決定できない等の事情があればdelete arrayを使った単純な配列管理かな。
ただ添え字が数値上限を超えない様な工夫は必要だね。
>からっぽ
>1
>おなかいっぱい
>a
>b
>c
>からっぽ
>>685の書いているリングバッファ実装です。
enqueue,dequeue回数が多いならリングバッファで良いと思う。
大抵の場合はQMAXに大きな値を設定すれば事足りるハズだけど
上限が決定できない等の事情があればdelete arrayを使った単純な配列管理かな。
ただ添え字が数値上限を超えない様な工夫は必要だね。
688デフォルトの名無しさん
2012/07/15(日) 21:09:36.15 リングでも上限を定めると入力ストリームの上限が不明な場合まずいことになるので、現在は
A=入力Array,C一時保管,i,k,n,p
k=1;C[0]=0;
for(i=1;i<=A[0];i++){n=0;while(k<i && A[k++]=C[n+=1]);if(n){
delete C[C[0]+1];C[0]-=n;p=0;while(C[p+=1]=C[n+=1]);}p=1;
while(match(substr(A[i],p),re)){p+=RSTART-1;n=substr(A[i],p,RLENGTH);
if(k<i){A[k++]=n;}else{C[C[0]+=1]=n;};p+=RLENGTH;}};n=1;
while(A[k++]=C[n]){delete C[n++];};A[0]+=C[0]-1;C[0]=0;
を使っている。
re=regexpとして、Array Aに一致するデータがあれぼそれを取得、結果をArray Aに出力、A[0]に合計が記載。
これ以上(コードサイズ、ある程度の速度、メモリの使用量を極力少なく)という条件で最適化できるだろうか…
だれか頼む。
入力と出力先が同じでも、別でも作動するコードなら尚のこと良いのだが…
A=入力Array,C一時保管,i,k,n,p
k=1;C[0]=0;
for(i=1;i<=A[0];i++){n=0;while(k<i && A[k++]=C[n+=1]);if(n){
delete C[C[0]+1];C[0]-=n;p=0;while(C[p+=1]=C[n+=1]);}p=1;
while(match(substr(A[i],p),re)){p+=RSTART-1;n=substr(A[i],p,RLENGTH);
if(k<i){A[k++]=n;}else{C[C[0]+=1]=n;};p+=RLENGTH;}};n=1;
while(A[k++]=C[n]){delete C[n++];};A[0]+=C[0]-1;C[0]=0;
を使っている。
re=regexpとして、Array Aに一致するデータがあれぼそれを取得、結果をArray Aに出力、A[0]に合計が記載。
これ以上(コードサイズ、ある程度の速度、メモリの使用量を極力少なく)という条件で最適化できるだろうか…
だれか頼む。
入力と出力先が同じでも、別でも作動するコードなら尚のこと良いのだが…
689デフォルトの名無しさん
2012/07/17(火) 00:02:18.87 これはひどい
デバッグも拡張も無理じゃね
デバッグも拡張も無理じゃね
690デフォルトの名無しさん
2012/07/17(火) 22:03:00.62 基本的に一度作って後は必要に応じてコピペだがらな。他には
function grep( o, re, p, B, this, a ){
B[0]=0;if(o~"-v"){while((getline v < p)>0){if(!match(v,re))B[B[0]+=1]=v;}return B[0];};
if(o~"-o"){while((getline v < p)>0){a=v;while(match(a,re)){B[B[0]+=1]=substr(a,RSTART,RLENGTH);
a=substr(a,RSTART+RLENGTH);}};return B[0];};while((getline v < p)>0){if(match(v,re))B[B[0]+=1]=v;}return B[0];
}
なんかも良く使う。grep("-o","pattern","/var/log",data);みたいな感じで。前のはagrep("-v",pattern,B,C)の一部分。
日ごろのメンテでちょっとした手作業じゃめんどいの組むときに、ほぼ数分で組みあがるのが楽なんだよ。
サブプロセスとしてgrep呼び出すのがコストかかる時とか、perlが破損した状況でのリカバリースクリプトとして組んだのが元だけど。
カーネルさえ生きていれば後はawkバイナリ流し込めば使え、shが半分死んでいてもなんとか動くし。
function grep( o, re, p, B, this, a ){
B[0]=0;if(o~"-v"){while((getline v < p)>0){if(!match(v,re))B[B[0]+=1]=v;}return B[0];};
if(o~"-o"){while((getline v < p)>0){a=v;while(match(a,re)){B[B[0]+=1]=substr(a,RSTART,RLENGTH);
a=substr(a,RSTART+RLENGTH);}};return B[0];};while((getline v < p)>0){if(match(v,re))B[B[0]+=1]=v;}return B[0];
}
なんかも良く使う。grep("-o","pattern","/var/log",data);みたいな感じで。前のはagrep("-v",pattern,B,C)の一部分。
日ごろのメンテでちょっとした手作業じゃめんどいの組むときに、ほぼ数分で組みあがるのが楽なんだよ。
サブプロセスとしてgrep呼び出すのがコストかかる時とか、perlが破損した状況でのリカバリースクリプトとして組んだのが元だけど。
カーネルさえ生きていれば後はawkバイナリ流し込めば使え、shが半分死んでいてもなんとか動くし。
691686
2012/07/21(土) 23:12:03.74 >>688
BEGIN{
QMAX=9007199254740991
QTopPos=QTailPos=QNum=0;
hitTop=0;
A[++z]="hoge";
A[++z]="1 2 3 4 5";
A[++z]="fuga";
A[0]=z;
for(i=1;i<=A[0];i++){
p=1;
while(match(substr(A[i],p),/[0-9]+/)){
p+=RSTART-1;
enQ(substr(A[i],p,RLENGTH));
p+=RLENGTH;
}
if(QNum>0){
while(QNum && hitTop<i)A[++hitTop]=deQ();
}else{
delete A[i];
}
};
if(QNum>0) while(QNum)A[++A[0]]=deQ();
for(z=1;z<=A[0];z++)print "A[" z "]:" A[z];
}
BEGIN{
QMAX=9007199254740991
QTopPos=QTailPos=QNum=0;
hitTop=0;
A[++z]="hoge";
A[++z]="1 2 3 4 5";
A[++z]="fuga";
A[0]=z;
for(i=1;i<=A[0];i++){
p=1;
while(match(substr(A[i],p),/[0-9]+/)){
p+=RSTART-1;
enQ(substr(A[i],p,RLENGTH));
p+=RLENGTH;
}
if(QNum>0){
while(QNum && hitTop<i)A[++hitTop]=deQ();
}else{
delete A[i];
}
};
if(QNum>0) while(QNum)A[++A[0]]=deQ();
for(z=1;z<=A[0];z++)print "A[" z "]:" A[z];
}
692686
2012/07/21(土) 23:44:24.03 691の続き
ちなみに、A[1]〜A[A[0]]をgrepして結果はA[1]〜A[?]に戻すスクリプトね。
複数件マッチする事があるので未処理行を上書きしないようにキュー使ってる。
function enQ(PushVal){
if (QNum+1 > QMAX){print "Queue Overflow"; exit;}
nextPos = (QTopPos+1) % QMAX;
QBody[QTopPos]=PushVal;
QTopPos=nextPos
QNum++;
}
function deQ(){
if (QNum<1){print "Illigal dequeue"; exit;}
QNum--;
TailVal=QBody[QTailPos];
delete QBody[QTailPos];
QTailPos=(QTailPos +1) % QMAX;
return TailVal;
}
リングバッファの上限超えたら終了させてるけど>>688の実装も上限超えたらバグるし許して。
計ってないけどループがない分早い筈。コードサイズはお察し。
メモリはA[]にデータ抱えてる時点でアウトな感じだけどA[]を適宜消すようにしといた。
出力先を別にしたいならA[]にdeQ()せず別変数にすればおk。
これで良い?
ちなみに、A[1]〜A[A[0]]をgrepして結果はA[1]〜A[?]に戻すスクリプトね。
複数件マッチする事があるので未処理行を上書きしないようにキュー使ってる。
function enQ(PushVal){
if (QNum+1 > QMAX){print "Queue Overflow"; exit;}
nextPos = (QTopPos+1) % QMAX;
QBody[QTopPos]=PushVal;
QTopPos=nextPos
QNum++;
}
function deQ(){
if (QNum<1){print "Illigal dequeue"; exit;}
QNum--;
TailVal=QBody[QTailPos];
delete QBody[QTailPos];
QTailPos=(QTailPos +1) % QMAX;
return TailVal;
}
リングバッファの上限超えたら終了させてるけど>>688の実装も上限超えたらバグるし許して。
計ってないけどループがない分早い筈。コードサイズはお察し。
メモリはA[]にデータ抱えてる時点でアウトな感じだけどA[]を適宜消すようにしといた。
出力先を別にしたいならA[]にdeQ()せず別変数にすればおk。
これで良い?
693688
2012/07/22(日) 09:36:17.43 >QMAX=9007199254740991
ワロタwww
俺のも確かにwhile(C[p+=1]=C[n+=1]);の部分で保持してるのすべて消費分だけ上に移動させてるのが無駄なので
そのループが無い分は確かに早いはず。
あと、恥ずかしながら尋ねたいのですが、俺>>688の実装で上限超えたらバグるをkwsk
なんか見落としてたのか今更ながら心配になってきた。
昔作ったやつなんで、結構な頻度使ってきたのだが今までバグに気づかなかった
しかしデータをメモリ上に展開するからどうしても上限が出てくるな…
awkで10GBぐらいの扱う時はgetlineでなんとかなるけど、やはりメモリマップやポインタが使えたら便利だよなぁ
パッチ作ったら需要あるかな?
ワロタwww
俺のも確かにwhile(C[p+=1]=C[n+=1]);の部分で保持してるのすべて消費分だけ上に移動させてるのが無駄なので
そのループが無い分は確かに早いはず。
あと、恥ずかしながら尋ねたいのですが、俺>>688の実装で上限超えたらバグるをkwsk
なんか見落としてたのか今更ながら心配になってきた。
昔作ったやつなんで、結構な頻度使ってきたのだが今までバグに気づかなかった
しかしデータをメモリ上に展開するからどうしても上限が出てくるな…
awkで10GBぐらいの扱う時はgetlineでなんとかなるけど、やはりメモリマップやポインタが使えたら便利だよなぁ
パッチ作ったら需要あるかな?
694デフォルトの名無しさん
2012/07/22(日) 11:41:46.83 >>693
691、ちょっと訂正。無駄にキュー使う分、元スクリプトから劣化してた。
> p+=RSTART-1;
>- enQ(substr(A[i],p,RLENGTH));
>+ if(hitTop+1<i){
>+ A[++hitTop]=substr(A[i],p,RLENGTH)
>+ }else{
>+ enQ(substr(A[i],p,RLENGTH));
>+ }
> p+=RLENGTH;
あと、良く考えたら出力先を別にするなら、そもそもキュー不要。
バグってのは687で数値上限云々と書いたとおり、
”C[0]+=1”がawkの整数の精度誤差なし演算可能上限を考慮していないだけ。
どのawkも多分そうだと思うけど、手元の環境下での実行結果↓
C:\>gawk --version
GNU Awk 3.1.7(windows special Nov 24 2009)
C:\>gawk "BEGIN{print 9007199254740990+1}" nul
9007199254740991
C:\>gawk "BEGIN{print 9007199254740991+1}" nul
9007199254740992
C:\>gawk "BEGIN{print 9007199254740992+1}" nul
9007199254740992
実際は(hddやメモリが先に死ぬので)
一行でこれだけ正規表現がhitする事は事実上無いし、
仮に発生しても検索結果が潰れるだけで、気付かない筈。
691、ちょっと訂正。無駄にキュー使う分、元スクリプトから劣化してた。
> p+=RSTART-1;
>- enQ(substr(A[i],p,RLENGTH));
>+ if(hitTop+1<i){
>+ A[++hitTop]=substr(A[i],p,RLENGTH)
>+ }else{
>+ enQ(substr(A[i],p,RLENGTH));
>+ }
> p+=RLENGTH;
あと、良く考えたら出力先を別にするなら、そもそもキュー不要。
バグってのは687で数値上限云々と書いたとおり、
”C[0]+=1”がawkの整数の精度誤差なし演算可能上限を考慮していないだけ。
どのawkも多分そうだと思うけど、手元の環境下での実行結果↓
C:\>gawk --version
GNU Awk 3.1.7(windows special Nov 24 2009)
C:\>gawk "BEGIN{print 9007199254740990+1}" nul
9007199254740991
C:\>gawk "BEGIN{print 9007199254740991+1}" nul
9007199254740992
C:\>gawk "BEGIN{print 9007199254740992+1}" nul
9007199254740992
実際は(hddやメモリが先に死ぬので)
一行でこれだけ正規表現がhitする事は事実上無いし、
仮に発生しても検索結果が潰れるだけで、気付かない筈。
695688
2012/07/22(日) 13:39:49.16 >9007199254740992
理論上、8192ペタバイトの同じデータ[aaa...]でregexp="."とすれば、発生するな…
IEEE 754の52bit制限だから、これ以上のでかい数字扱うならbig numbert対応のライブラリか,
"bc -q" |& で動かすか、xgawk、dnawkあたり使うべきだなぁ
昔誰かがbignumのawkスクリプト書いて放流していた覚えがあるのだが、
ググッても見つからん。手元にあるのはビット演算のやつだけだわ
いつかそれだけのデータをメモリ上に保持できるマシンを扱ってみたいものだ…
理論上、8192ペタバイトの同じデータ[aaa...]でregexp="."とすれば、発生するな…
IEEE 754の52bit制限だから、これ以上のでかい数字扱うならbig numbert対応のライブラリか,
"bc -q" |& で動かすか、xgawk、dnawkあたり使うべきだなぁ
昔誰かがbignumのawkスクリプト書いて放流していた覚えがあるのだが、
ググッても見つからん。手元にあるのはビット演算のやつだけだわ
いつかそれだけのデータをメモリ上に保持できるマシンを扱ってみたいものだ…
696デフォルトの名無しさん
2012/08/03(金) 02:35:23.75 awkってabsとかacosなどの基本的な算術関数が用意されてないんですね
今後も実装されることはないんでしょうか?
パイプでサクッとつないでワンラインで処理するのに重宝してたんですが・・・
代わりとなると、何使うのがよろしいですか?
できればperlは使いたくないです(どうしても好きになれない
今後も実装されることはないんでしょうか?
パイプでサクッとつないでワンラインで処理するのに重宝してたんですが・・・
代わりとなると、何使うのがよろしいですか?
できればperlは使いたくないです(どうしても好きになれない
697デフォルトの名無しさん
2012/08/03(金) 06:48:38.25 absは自分で書けばいいし、acos(x)はatan2(x, √(1.0 - x*x))と書けるから、
どちらも基本的ではないと判断して組み込みじゃないんだと思うけど。
PythonかRubyでいいんじゃない? ワンライナー向きではないけど。
どちらも基本的ではないと判断して組み込みじゃないんだと思うけど。
PythonかRubyでいいんじゃない? ワンライナー向きではないけど。
698デフォルトの名無しさん
2012/08/03(金) 07:37:24.41 >>696
ライブラリ(?)を拾って来ては?
ライブラリ(?)を拾って来ては?
699デフォルトの名無しさん
2012/08/03(金) 11:48:03.19 >>696
必要な関数値を計算するだけのプログラムをCで作っておいたら?
必要な関数値を計算するだけのプログラムをCで作っておいたら?
700デフォルトの名無しさん
2012/08/03(金) 20:21:59.43 昔それでベクトル演算して遊んだな
701デフォルトの名無しさん
2012/08/04(土) 09:23:47.83 Rubyはそこそこワンライナーも書ける感じがする、awkやPerlほどじゃないけどね
Pythonは流石にコード起こさないと辛いことが多いが
Pythonは流石にコード起こさないと辛いことが多いが
702デフォルトの名無しさん
2012/08/04(土) 10:27:49.07 awkでmatlabみたいなベクトル演算できるようにしてほしい
703デフォルトの名無しさん
2012/08/04(土) 16:48:36.10 awkでクラスを使えるようにしてほしい
704デフォルトの名無しさん
2012/08/04(土) 17:06:19.06 awkで全ての魔法少女を救ってほしい
705デフォルトの名無しさん
2012/08/04(土) 17:08:30.07 awkさんは魔女
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 秋田内陸縦貫鉄道「列車が脱線、転覆」と通報 北秋田市、萱草駅付近 [蚤の市★]
- 今年の漢字、きょう発表😉 [583597859]
- 女の子集合!
- 中国人、超ド正論。「チベットやウイグルに住んでるのはチベット族やウイグル族だが、アイヌから奪った土地に住んでる日本人こそ侵略者」 [314039747]
- 百合営業してるアイドル「これは営業だから…んっクチュクチュ」←これ
- 安倍さん死んでからの日本終わりだよ
- ひまでんぼ
