プログラミング言語? ほむほむっ.js
偉大なる元ネタ
プログラミング言語「ほむほむ」 - ( ꒪⌓꒪) ゆるよろ日記
終電逃して暇だったので、JavaScript でも書けるんじゃないかと思って書いてみたら、できたので公開しておきます。
プログラミング言語?「ほむほむっ」 - jsdo.it - Share JavaScript, HTML5 and CSS
「ほむほむっ」で hello,world
ほむほむっ ほむほむっほむほむ ほむ ほむほむっほむ ほむっ ほむっほむほむほむっほむ ほむほむほむっほむっほむほむ ほむほむほむほむ ほむ ほむほむっほむほむ ほむほむっほむほむ ほむっほむっほむっ ほむっほむっほむほむほむっほむっ ほむほむっほむっ ほむっほむっほむっ ほむほむっほむ ほむほむっほむほむ ほむっほむほむ ほむほむほむっほむっほむほむ ほむほむっほむっほむほむっほむ ほむほむっほむほむっほむほむっ
解説
前提
- 1時間くらいで書いたので、いろいろとやっつけ。
- 実用性はまったくない
プログラミング言語?
ソースを読めばわかりますが、プログラミング言語じゃなくて、単なる「ほむコンバータ」です。
やっていることは、以下の通りです。
- 「ほむほむっ」=> モールス信号に変換
- 「ほむ」が「.」で、「ほむっ」が「-」、空白文字はそのまま
- モールス信号をアルファベットに変換
- 変換表は Wikipedia にのっているやつを使った
- ただし、記号の対応表は一部変更
- 2. で得られた文字列を JavaScript のソースとして eval
ちなみに、「ほ」、「む」、「っ」、空白文字以外は無視されるので、好きな文字列を書き加えることができるので、以下も hello,world として変換されます。
私は・・・・鹿目さんとの出会いをやり直したい。 彼女に守られる私じゃなくて、彼女を(ry ほむほむっ ほむほむっほむほむ ほむ ほむほむっほむ ほむっ ほむっほむほむほむっほむ ほむほむほむっほむっほむほむ ほむほむほむほむ ほむ ほむほむっほむほむ ほむほむっほむほむ ほむっほむっほむっ ほむっほむっほむほむほむっほむっ ほむほむっほむっ ほむっほむっほむっ (◕‿‿◕) < 「僕と契約して魔法少女になってよ!」 「だが断る!!」 ほむほむっほむ ほむほむっほむほむ ほむっほむほむ ほむほむほむっほむっほむほむ ほむほむっほむっほむほむっほむ ほむほむっほむほむっほむほむっ
応用例
- 同じ文字列の繰返しはできない(「マミマミ」はダメ、「マミる」はできる)
- つまり、以下のように書き換えれば、「マミる」ができる
Homu.compile = function(src) { var compiled = src.replace(/[^マミる\s]/g, ''); compiled = compiled.replace(/マミ/g, '-'); compiled = compiled.replace(/る/g, '.'); return compiled; };
まとめ
- ネタ言語の中間言語として、モールス信号を使うアイデアはなかなか面白いかもしれない。ただし、実用性はない。
- このエントリを書いていて、昨日は疲れていたらしいことはわかった。