Let's start Scheme

2012-05-05

プログラマはキチガイじゃないよ

こんなのを見つけた。
プログラム板キチガイすぎワロタwwwwww
ム板とマ板は違うとあれほど(ryというのはほっといて。
内容は2004年に立てられた何かのスレに対してのコメント。そのスレの>>1が2進数で何か書いていて何言ってるんだろう?という話。
2進数なら単に2->16->変換でいけるだろうとこんなの書いてみた。文字コードの判別は面倒だったのでSJIS決め打ち。(2004年だとUTF-8はそんなに普及してなかったなぁ・・・遠い目)
#< (sagittarius regex) >
(import (rnrs) (getopt)
 (sagittarius)
 (sagittarius control)
 (sagittarius regex)
 (encoding sjis)
 (util file))

(define (sjis->string bv)
  (let1 tr (make-transcoder (sjis-codec))
    (bytevector->string bv tr)))

(define (main args)
  (with-args args
      ((i (#\i "input") #t (usage)))
    (let1 s (regex-replace-all #/\s/ (car (file->string i)) "")
      (print (sjis->string (integer->bytevector (string->number s 2)))))))
Sagittariusはこっそり拡張コーデックを持っているので、sjisとeuc-jpが使える。今回はsjisだけど。っで、満を持して元スレの>>1を解読したら、>>2になった。
元スレの>>1がEBCDICでも使っているのか、でたらめだったのかは知らないけど。朝の15分であんまり頑張りたくないのでやめた。

元ネタがなんて書いてあるか知りたい人は是非Sagittariusをダウンロードして
$ sash {スクリプト名} -i {2進数を貼り付けたファイル名}
コマンドラインから上記スクリプトでw

No comments:

Post a Comment