2007-09-01から1ヶ月間の記事一覧

constructor

Foo.prototype.constructorのもともとの値は、function Foo(){…} ({}).constructorの値は、function Object(){[native code]} よって、Foo.prototype={…}とプロトタイプオブジェクト全体をすげ替えてしまうと、constructorプロパティの内容が変わってしまう…

老人と宇宙

CDF(コロニー防衛軍)が老人を兵士にする理由のひとつはそこにある− きみたちが隠居して経済面で社会の足かせになっていることだけが理由ではない。 さらにいえば、充分に長く生きてきたきみたちは、人生には自分の命よりもたいせつなものがあると知っている…

.tp

.tp - Wikipedia 現在の状態 利用可能だが、将来的には.tlに置き換わる .tpは国別コードトップレベルドメインの一つで、東ティモールに割り当てられている。 TPはTimor Portuguesつまりポルトガル領ティモールを意味し、かつてこの国がポルトガルの植民地だ…

append

arrayとstring両対応のappendを作る。 オペレータ名はHaskellをまねて++にした。 /++ { 5 dict begin /arraytype {array} def /stringtype {string} def /y exch def /x exch def x length y length add x type exec /r exch def r x r copy length y putint…

配列処理

PostScriptでのfold,map,filter等を作ってみる。 fold forallをそのまま使うだけでfoldの動作が出来る。 以下は1から3までの和を求める例。 GS>0 [1 2 3] {add} forall == 6が、自分の好みにより引数の順番を変えたものをfoldとする。 GS>/fold {3 1 roll fo…

VDD

教えて!goo VDD(電源電圧)って何の略ですか Vはvoltage, VDDのDはdrains, VSSのSはsources, VCCのCはcollectors, VEEのEはemittersが由来。 http://oshiete1.goo.ne.jp/qa1249807.html

plus

swi-prologでplusという述語発見。isと違って逆演算が出来るのがいい。 ?- R is 2+3. R = 5 ?- 5 is 2+R. ERROR: Arguments are not sufficiently instantiated ?- plus(2,3,R). R = 5 ?- plus(2,R,5). R = 3 ?- plus(R,3,5). R = 2 ?- plus(X,Y,5). ERROR: …

print関係

Rubyとの比較でおぼえる PostScript Ruby 備考 print print 改行なし = puts 改行あり == p クォートあり pstackは==を使って全スタックを表示 stackは=を使って全スタックを表示

foldrとfoldl

両者の違いを実感するために、それぞれでmap関数を書いてみた。 mpr f = foldr (\a b->f a:b) [] mpl f = foldl (\a b->a++[f b]) [] main = do print $ map (*2) [1..3] print $ mpr (*2) [1..3] print $ mpl (*2) [1..3]別解 mpr f = foldr ((:).f) []

foldの呼び出し順を括弧で表示

(あるいはHaskellの型が邪魔だった事例)以下のRubyの処理をHaskellでやることを考える irb> [1,2,3].inject(0){|a,b|[a,b]} => [[[0, 1], 2], 3]まずは素直にリストでやってみる。 Prelude> foldl (\a b->[a,b]) 0 [1,2,3] Occurs check: cannot construct t…

ベイズの定理

ベイズ推定 - Wikipedia P(A) = 事象Aが発生する確率を、事前確率(prior probability)、 P(A|X) = 事象Xが発生した下で、事象Aが発生する条件付き確率を、事後確率(posterior probability)、 ベイズの定理 P(A|X) = P(X|A) P(A) / P(X) http://ja.wikipe…

木と階層構造のデータ

SQL

SQLで木と階層構造のデータを扱う――入れ子集合モデル 木構造のノードを円と見なし、階層関係を円の包含関係として捉えなおす。 http://www.geocities.jp/mickindex/database/db_tree_ns.html 自分としては円というよりはS式という感じ。まあどっちでも同じだ…

strtotime

PHP

strtotime ?? 英文形式の日付を Unix タイムスタンプに変換する int strtotime ( string $time [, int $now] ) http://jp2.php.net/manual/ja/function.strtotime.php けっこう柔軟に対応してくれるらしいのでいろいろ実験してみる 入力式 出力 コメント dat…

消去できないメールが来ました

娘はあなたに会いたがっていたようですがそれは叶いません。 8/2 17:19 娘は17年間の頑張り続けた生命を静かに休ませる事になりました。 隠し続けた娘を思うと私の判断は間違いだと思います、娘はあなたと同じ病気を抱えていました。 あなたとのメールのや…

mere mortals

原文 I was never able to really understand Smalltalk, mostly because of its very cryptic (to my mind) syntax. Ruby, however, is like Smalltalk for mere mortals. Now, I "get" it, and it is fun. http://www.ibm.com/developerworks/rational/lib…

すべてがFになる

「こんなアウトドアライフも、いつかバーチャル・リアリティになって、部屋の中で楽しむようになるんですね。 普通の人には抵抗があるでしょうけど…」 「そんな見せかけだけの自然なんかって思う奴がほとんどだろうね。 だけど、だいたい自然なんて見せかけ…

PNG

PNGのヘッダは各OSの落とし穴を検出できるようになっていたとは。うまい。 PNGファイルはヘッダに8バイトのシグネチャを持つ。 16進数の値は 89 50 4E 47 0D 0A 1A 0A となる(制御文字で表すと HTJ "PNG" CR LF SUB LF)。 各値の意味は次の通り。 http://j…

隠し要素

本編のDNA処理は難しそうなので、こっちの隠し要素の方をやってみる。 横幅 16 カラムで DNA を見ると "ACHTUNG! PORTABLE NETWORK GRAPHICS FOLLOWS" というメッセージがアスキーアートで現れる http://d.hatena.ne.jp/ku-ma-me/20070723/p2#tb アスキーア…

FizzBuzz

COBOLの練習にFizzBuzzを書いてみた。 IDENTIFICATION DIVISION. PROGRAM-ID. FizzBuzz. DATA DIVISION. WORKING-STORAGE SECTION. 01 CNT PIC 9(03) VALUE 0. 01 MOD PIC 9(01) VALUE 0. 01 TMP PIC 9(01) VALUE 0. 01 FIZ PIC X(05) VALUE "". 01 BUZ PIC …