マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

TeX以外

Ruby でもっと変態的な if 関数を

結局のところ、既存の if と同等のものを新たに実装しても、新しいことができる訳ではなくあまり面白くない。そこでもっと変態的な if 式を作ることを考えてみた。平凡な ifまずは、従来の「平凡な if 式」の仕様について確認することで、新しい定義で使う概…

Ruby でもっとオレ的な if 関数を

前回の話でちょっと出した、残念な「メソッド的 if」について。 1.upto(20) do |n| (n % 15 == 0).if { puts 'FizzBuzz' }.else(n % 3 == 0).if { puts 'Fizz' }.else(n % 5 == 0).if { puts 'Buzz' }.else { puts n } end (真偽値).if {...} の形に合わせて…

Rubyでもっと自分好みの if 関数を

Ruby女子と高らかに宣言しておきながら好きな関数がifというのは解せぬ。Rubyistではない僕でもRubyにおいてifが関数ではなく制御構文であることは知っています。どういうことなのか。Rubyの話ではないということでしょうか。確かに「好きなRubyの関数」など…

第 3 水準にあるけど大事な漢字(1)

新しい JIS 文字コードである JIS X 0213(JIS 拡張漢字)が普及する前は、普通の PC で普通に使える漢字は JIS X 0208:1997(JIS 基本漢字)の 6355 文字*1に限られていた。これに対して JIS 拡張漢字(JIS X 0213:2004)では 10050 文字、Unicode 6.1 では…

Googleが開発した新しい残念言語「og」登場!!

これは嘘ニュースです (重要なことなので予め反転しました) 要するに、Google の素晴らしいオモチャの綺麗なグラフィックを残念なテキストに変換した、ということ。 これだけで何となく解ると思うが、一応説明しておく。*1 機械はテープとプログラムとプロ…

ようやく「最後の問題」が解けた(Googleのアレ)

Google のチューリングでフィボナッチなアレのことだけど。 エンディングの機械が何を表しているかが理解できて、これでようやく安心して就寝できると思ったら、オープニングのバイナリカウンタな機械の実装をまだ考えていないことに気か付いた。 ……というわ…

テンプレート的 LaTeX、再び (3)

(前回の続き) ところで、templatex の実装(というよりテンプレートエンジン ixsst の実装)は ERB の処理方法をそのまま真似ている。ERB で同様の例を試してみた。<%def test(n) 1.upto(n) { |i| %> (<%=i%>) <% } end %> <% test(5) %> これを実行すると…

2012 年のパズル年賀状

今年の年賀状。 以前に述べたとおり、年賀状にはその年の数に関連した数学パズルを載せるのが通例である。*1しかし去年はパズルを作っている時間が 30 時間しかなかったので、割と普通(じゃない?)の覆面算で済ませた。 肝心の問題の部分の文字が小さくで…

プログラミング言語「ほむほむ」について

前回に「問題がある」と言った点、それは何かというと 構文規則がよく解らない ということである。 Grassの文法と異なる点は以下のとおり。 wがほむ スペース・タブにはさまれた"ほむ"がW vは改行 元々が単なるネタであまり細部を詰める気がなかったからだと…

grassator パッケージ: シンプルな Grass 開発環境

前回少し紹介した grassator パッケージ*1であるが、これは以下の 3 つのファイルからなる。 planter.lua: Grass コード生成器のライブラリ。 bushfire.lua: Grass コードインタプリタのライブラリ。 grassator.lua: 上の 2 つを利用した実行可能スクリプ…

planter: Grass ソース生成ライブラリ

前回示したような Grass の長いプログラムを如何にして「書く」か、という話。 Grass のある程度長いプログラム(Wとwとvの列)を「直接」書ける強者は恐らく存在しないと思われ、実際には「もっと書きやすい形式」からの変換によってつくられるのが専らであ…

TeX 以外(例えば Grass)でナベアツする件について

「ちょっと草植えときますね型言語 Grass」で実装した NabeAzz のプログラム。改行を除いて 4613 バイト。 wwwWwwwWwwwvwwwWWWwwWWWWwwwWwwwWWWwvwwwWWWwwWWWWwwwWwwwWWWwWWWWWWwvwWWwWWWWwWWWW WwWwwwwwwwwwWwwwwwwwwwwwWWWWWWWwwwwwwWWWWWWWWwWWWWWWWWWWwW…

111111

*「今日は 11 年 11 月 11 日ですね」 ZR「だから何だ?」 *「……何か、11 とか 1 とかにちなんだネタはないんですか?」 ZR「……ない」 *「えーっ、芸人がネタ切れしていてどうするんですかー!」 ZR「…………誰か芸人じゃーっ!?」 *「いえ、その、すみま…

TeX 以外(例えば Postscript)でナベアツする件について

munepi さんのブログの記事「\NabeAzz を作ってみた」より。 つぎは、Postscript で NabeAzz を(おぃ ふむ。%!PS-Adobe-3.0 /norm-font /Palatino-Roman findfont 10 scalefont def /funny-font /ZapfChancery-MediumItalic findfont 20 scalefont def /lea…

数式という習慣

「6÷2(1+2)」の喧騒を今になって知る。数式を解釈する規則というのは(自然言語と同じく)習慣に過ぎないので、「人により違う」という曖昧さが付きまとう。「連接(演算子なし)による乗算は明示的な演算子よりも優先順位が高い」という「規則」も、場合に…

Lua のテーブルリテラルによるデータファイル形式

Programming in Lua のデータ永続化に関する章の中に、「Lua のテーブルリテラルの形でデータファイルを記述する」話が出てくる。つまり、データファイルの記述形式を次のようと、簡単に読込が可能になるという話である。 [bib.dat]Entry{ author = "Donald …

続・日記のようなもの

11 日の地震の発生から 1 週間が経過しようとしている。幸い、地震の活動自体は収束しているように見えるが、そうすると、震災の影響を受けた全ての地域で「日常に戻る」ための闘いがいよいよ本格的に始まるといっていいだろう。阪神大震災の事実を考えると…

日記のようなもの

20 時頃、いつも通りの手段で帰宅。通りはもの凄く混雑しているかと思ったがそれほどでもなかった。部屋の中は棚から物が落ちたりで散らかっていたが、これも思ったほどではなかった。でも色々な状況を考え併せると、会社にいるよりこの部屋にいる方が数百倍…

今年のパズル年賀状

今年の年賀状。 年賀状といえばどうしても数学パズルが必要になる(異論は当面保留しておこう)が、去年はパズルを作っている時間が 6 時間しかなかったので、割と普通(じゃない?)の覆面算で済ませた。版面はフリーのドローソフト + 「ペイント」で作って…