ToDo:
http://jarp.does.notwork.org/diary/200703b.html#200703141
c なんてあったんだなぁ。 基本的に sed 使ってると正規表現以外思いつかないなぁ。
y/Pi/52/ s/[^25 ]//g s/5 2\|2 \| 5/</ s/ \|<2\|5</=/ s/../>/
ちなみに僕の 60B はこんな。
(09:55)
http://d.hatena.ne.jp/ogijun/20070313/p1
というのはともかく考えてみよう。
職場: ノートPCはWinかMacかと聞かれたので、Winのノートくれって頼んだ。つまり同意
Apple: 同意。というかどうでもいい。おうちのマシンにサポート欲しいって本気で言うんだろうか。
音楽映像: 同意
Unix: 非同意。 Mac だと apt で unlambda インタプリタ入らないよ
デザイン: 非同意。 Mac のデザインは中も外も好きじゃないところだらけ。
Expose: 非同意。そもそもこんなものいらない。
重い: たったの2.3kgに何を言いますか! まぁあんまり持ち運ばないから関係ないんだよなぁ。
トラックパッド: 確かにイヤだけど、ここしばらく触った覚えがないな。
iPod: iPod むずかしくてよくわからない
最近みんな: まぁいいかぁ。
半分くらい同意してる!! いつのまにか脳が侵食されてるよ!!!
(10:12)
みんなすごいなぁ。
フラたんのはにはさんの $&['|']||'' を使えば 123B に。
にはさんは *a="" を知らなかったのかーという。そんで 122B になる。
全体にまだ縮みそうだけどなぁ
(12:16)
(17:37)
なんでわざわざmapしてからsplit…と思ったのだけど、 要は $_ に入れたいからってことかなぁ。
split('\203'x((~$+)=~/\203/),~$+
とかでダメな理由が読めてない
(17:52)
Prelude> sequence [["hage","hige"],["a","b"]] [["hage","a"],["hage","b"],["hige","a"],["hige","b"]]
直積っつーか。こういうのあったと思ったんだけど探すのめんだくさかったのと
a!b=[x++y|x<-a,y<-b]
に十分感心したので満足していた。 Haskellゴルフはもちょいマジメにやれば頭よくなれそうだなあ
(21:52)
つまり Ruby はこういうのをサポートすべきだという結論です。 ゴルフのために。
class Array def cross_(a, n, &proc) a = a.dup if c = a.pop r = [] c.each do |x| r << cross_(a, [x, *n], &proc) end r.flatten else proc[*n] end end def cross(*a, &proc) cross_([self, *a], [], &proc) end end p ["hoge", "fuga"].cross([1,2,3], ["a","b","c"]){|a,b,c| "#{a} #{b} #{c}" }
(22:29)
をふと思いついた。
なんかなんとかセミナーで、 先手必勝ではあることは証明できるけど、 具体的なアルゴリズムは誰も発見していない、 という問題が紹介されてとても面白かった。 具体的には、えーとはてな止まってやがる。
http://d.hatena.ne.jp/nuc/20060902/p2
これ。
でなんか、 「Turing complete であることは示されているけど、 誰も Brainfuck インタプリタを書けていない言語」 ってのを作れると幸せかもしれない。
(23:11)
BALANCE の、 PC の速度が変わる、っていう機構は非常に面白かった。 なんか BALANCE を Turing complete にするにはどうすればいいのかな って考えてて上の妄想にいたったんだけど。
で Befunge に加速の概念があるといかがか。 救いがたいくらいわけわからなくなりそうで かつたぶんプログラム言語としての能力は落ちるが。
初速 (x=1,y=0) としてだね。
><
これは終速 (2,0) 。つまり < は飛び越える。
> <
これは (1,0) 。減速した。
<
これは (-1,0) 。 (0,0) になったら最後の <>^v の方向に進む。
v
これは (0,1) 。進行方向成分以外のは普通に Befunge のルールに従うとする。
これくらいだとまぁ少し楽しくなるかなーというくらい。
本当にエグいのは
> > v
で (3,1) になるような言語だろうか… レースゲーム言語。
こうドリフトとかして PC を進めてだね、 ライバルを邪魔しつつだね…
(23:22)
前 | 2007年 3月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
ひと月以内にデザインもExposeも同意せざるをえなくなるとよげーん。
あーさすがにそれは無いと思います…デザインはともかく Expose はたぶん1週間くらい見てませんし…
げらげら。そういえばそれ忘れてました笑う。
今携帯なんでまあ帰ったらはてなにでも。
正規表現を実行したせいで$+が壊れるからだと思うのですが、
@bで回っているmapの2週目以降で$+が壊れないのが謎なんです。
あーなるほど。うーん謎っていうか普通にこれバグなんじゃという。 Perl Golfer のすごいところは $_ と正規表現関係の変数群っていう強力だけどすぐぶっこわれるモノをえらいうまく使うことですねえ…あと ySas さんがいじれば Bash は平気で縮むだろうなーと思うのですがどうでしょうという。
あとにはさんのツッコミメールが来てないです。たぶん念力とかが足りないんじゃないでしょうかと心配です。 regexp.rb はおいもう終わるじゃんと大急ぎで仕上げたので色々ひどかったです。もうちょい時間あればトップになれた気がします。特に /\?/ とかありえん。
あーバグでもないか。なんていうかよくわかってませんが $+ とかってスコープ持ってる感じの挙動しますよねたしか。
$_="hoge";
s%(o)%map{/.(.)/;print"$1$/"}(fu,ga);print"$+$/"%e
つまり map{} で $+ を守ってるんですねー。うーんすごいやっと全部わかった気がします。
ええ、先のツッコミ書いた後で気づきました。map内でローカル化されるからOK。
但しなんの演算も施さずに$+をそのままmapに渡すと、$_が$+の別名になってしまってNG。
あーなるほど ~$+ は /\|/ とかでエスケープが必要なのを嫌ったのかなー、でもためしに書き換えてみてもうまくいかないなーと思ってたのですが、やっとこさ全て理解できた気がします。いやあ ySas さんすごいです。