トップ «前の日記(2007-03-14) 最新 次の日記(2007-03-16)» 編集

はじめてのにき

ここの位置付け

2004|11|
2005|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|

ToDo:


2007-03-15

_ 寝すぎだろ…

どうなってんだ俺は

(07:57)

_ なるほどー

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)

_ むむ

http://d.hatena.ne.jp/ogijun/20070313/p1#c1173904235

使わない理由14 は重要ダネ!!

(10:16)

_ regexp.rb

みんなすごいなぁ。

フラたんのはにはさんの $&['|']||'' を使えば 123B に。

にはさんは *a="" を知らなかったのかーという。そんで 122B になる。

全体にまだ縮みそうだけどなぁ

(12:16)

_ うーん

regexp.pl 狂ってるなぁ…読めねー。

(17: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)

_ regexp総括

つまり 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)

_ 俺 Turing 話の続き

をふと思いついた。

なんかなんとかセミナーで、 先手必勝ではあることは証明できるけど、 具体的なアルゴリズムは誰も発見していない、 という問題が紹介されてとても面白かった。 具体的には、えーとはてな止まってやがる。

http://d.hatena.ne.jp/nuc/20060902/p2

これ。

でなんか、 「Turing complete であることは示されているけど、 誰も Brainfuck インタプリタを書けていない言語」 ってのを作れると幸せかもしれない。

(23:11)

_ balance

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)

本日のツッコミ(全8件) [ツッコミを入れる]
_ ogijun (2014-05-24 01:12)

ひと月以内にデザインもExposeも同意せざるをえなくなるとよげーん。

_ shinh (2014-05-24 01:12)

あーさすがにそれは無いと思います…デザインはともかく Expose はたぶん1週間くらい見てませんし…

_ niha (2014-05-24 01:12)

げらげら。そういえばそれ忘れてました笑う。
今携帯なんでまあ帰ったらはてなにでも。

_ ySas (2014-05-24 01:12)

正規表現を実行したせいで$+が壊れるからだと思うのですが、
@bで回っているmapの2週目以降で$+が壊れないのが謎なんです。

_ shinh (2014-05-24 01:12)

あーなるほど。うーん謎っていうか普通にこれバグなんじゃという。 Perl Golfer のすごいところは $_ と正規表現関係の変数群っていう強力だけどすぐぶっこわれるモノをえらいうまく使うことですねえ…あと ySas さんがいじれば Bash は平気で縮むだろうなーと思うのですがどうでしょうという。

あとにはさんのツッコミメールが来てないです。たぶん念力とかが足りないんじゃないでしょうかと心配です。 regexp.rb はおいもう終わるじゃんと大急ぎで仕上げたので色々ひどかったです。もうちょい時間あればトップになれた気がします。特に /\?/ とかありえん。

_ shinh (2014-05-24 01:12)

あーバグでもないか。なんていうかよくわかってませんが $+ とかってスコープ持ってる感じの挙動しますよねたしか。

$_="hoge";
s%(o)%map{/.(.)/;print"$1$/"}(fu,ga);print"$+$/"%e

つまり map{} で $+ を守ってるんですねー。うーんすごいやっと全部わかった気がします。

_ ySas (2014-05-24 01:12)

ええ、先のツッコミ書いた後で気づきました。map内でローカル化されるからOK。
但しなんの演算も施さずに$+をそのままmapに渡すと、$_が$+の別名になってしまってNG。

_ shinh (2014-05-24 01:12)

あーなるほど ~$+ は /\|/ とかでエスケープが必要なのを嫌ったのかなー、でもためしに書き換えてみてもうまくいかないなーと思ってたのですが、やっとこさ全て理解できた気がします。いやあ ySas さんすごいです。

お名前:
E-mail:
コメント:
人生、宇宙、すべての答え
本日のリンク元

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
1.shinh(2014-05-24 01:12) 2.あろは(2014-05-24 01:12) 3.k.inaba(2014-05-24 01:12)
search / home / index

全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。

shinichiro.hamaji _at_ gmail.com / shinichiro.h