ゆの in ニコスクリプト

世界中で数人しか知らなさそうですが、
ニコスクリプトは演算子オーバーロードが出来るんですよ!

0::/t=drawText(text:"",size:20,color:0xffffff)
1::/echo=dt
1::/echo.setSlot('lessThan',def_kari('#:g3',t.text+=$1))
2::/trg=dt
2::/trg.setSlot('divide',def_kari('#:g2',t.text+="365";echo))
3::/X=dt
3::/X.setSlot('divide',def_kari('#:g1',t.text="ひだまり"+$1;trg))
4::/_="スケッチ"
5::/X / _ / X < '来週も見てくださいね!'

実行すると動画内時間5秒で「ひだまりスケッチ365来週も見てくださいね!」と画面に表示されます。
dtというのは本来画面に文字を表示する手続き(drawTextの略)ですが、
この手続きは新しい(少し特殊な?)オブジェクトを返します。
で、そのオブジェクトのスロットに'divide'とか'lessThan'といった名前で手続きを格納すると、
'/' や '<' といった演算子が使われたときに任意の手続きが呼べるという仕組みです。 ちなみに、手続きを作るdef_kariは第一引数に名前を要求するので、適当な名前をつけています。 「こうやったら出来るんじゃないか?」と思いつきでやってみたら案外出来るものですね。 ちなみに、ひだまりスケッチはマンガは読んでますがアニメは見てません。
そもそもスケッチブックの方が好きだし。
そんなことよりも問題なのはゆのさまですよ。ゆのさま。
ひだまりスケッチが流行って以来、「ゆのは」でググっても
「'ゆの' は」で引っかかってゆのさまばっかし出てくるんですよ。
もうやってられないんだぜ!
……と書いてから気づいたけど、今はそうでもなくなってるみたいです。
(まあ、やっぱり上位にひだまりスケッチ関連がきてますけど。)
前に検索したときに丁度ひだまりスケッチが流行ってたから上位にきやすかったんでしょうかね。

4 Responses to “ゆの in ニコスクリプト”

  1. [hack][ひだまり][lisp]ゆのかわいいよゆの

    http://blog.bugyo.tk/lyrical/2008/07/_in.html リリカル☆Lisp 開発日記にひだまりスケッチキター! まぁ…

  2. m0h1can より:

    へっへー、こっちの方が短いぜぃ
    http://ratiwo.blogspot.com/2008/07/in-prolog.html

  3. zick より:

    くっ、悔しくなんかないんだからね!!

  4. B-LOG より:

    ゆの in C

    ゆの in languageをC言語でやろうと考えたわけですが、
    まず、2バイト文字は識別子に出来ないので無理、
    あと、コロンをどうしていいのか分からない…

Leave a Reply