「ふつける」を含む日記 RSS

はてなキーワード: ふつけるとは

2007-04-02

特定しますた

恋人ふつけるプレゼントする Schemer の俺が来ましたよ。

# 鬼の首をとったかのように書いてごめんよ。

Lisp とカッコの不揃い

CommonLisp はよく知らないんだけれど、 Scheme だと #\( と書けば ( という文字を示すことになるし、マルチバイト処理系だと ((((((( というようなシンボルも問題なく使えたりする(開きカッコが全角であることに注意)。

処理系によっては半角のカッコでさえシンボルに使える、かもしれない。実際、ある処理系では SRFI-17 に関係したコードに半角空白を含むシンボルがあったりする。

そういうわけで

(define ((((( xs)
 (if (null? xs)
  '()
  (cons (map (lambda (c) (if (eqv? #\( c) #t #f))
         '(#\( #\( #\( #\( #\( |setter of hogehoge|)))
        ((((( (cdr xs)))))

というようにカッコが不揃い(に見える)コードも可能。まあ、デモ以外でマルチバイト文字をシンボルに使うことなんてないだろうし、文字リテラルたまに目視でカッコをチェックしていて「あれ?」と思うぐらいだし、そもそも上のコード意味のある処理をしていないんだけど。

そういえば Emacs は閉じカッコを打った時、対応する開きカッコを強調表示してくれますよ。

結論

Lisp なんてやってないで HSP とかやるといいよマジで。 Lisper になるには最初に HSP を学ぶのが最も近道なんじゃないかと最近気付いたんだ。

増田に思うこと

super pre 記法ないのかよ! Web2.0 っぽいインターフェースブクマコメント表示したりする暇があるならこういう基本的なところやれよなマジで(いや、コメント表示も便利だけど)。そもそも増田システムなんてほとんどはてブと共通かと思ってたよ。増田が出た当初、「適当に組替えただけで、うまいことやったなぁ」と感心していただけに残念だ。

 
ログイン ユーザー登録
ようこそ ゲスト さん