マクロツイーター

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

2012-07-01から1ヶ月間の記事一覧

TeX で if-トークンを使わずにナベアツする

さて、しばらくの間 Ruby の話が続いたが、このブログの読者であれば「TeX で如何にして \if を自分で実装するか」について思案を巡らせていたであろうことは想像に難くない。しかし、残念ながら、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の関数」など…

短縮命令生成器生成器を作る件について

某掲示板のアレの話。 \generateabbrevdef{XXX}{\CS}{<本体>}(ただし一般的に <本体> は第 2 引数の制御綴 \CS を含む)は以下の仕様の命令 \defineabbrevXXX を定義する。 \defineabbrevXXX{<文字列>,...} は、引数のリストの中の各々の文字列 Y について…

現状の LISP on TeX でリスト記法で書いてみる

LISP on TeX なアレが更新された*1ようなので、コレをその文法で書き換えてみた。\documentclass{article} \usepackage{lisp} \begin{document} % もちろん'%'以降は単なるコメント \lispread\expA{% ((\lambda \zero %<LET> ((\lambda \inc %<LET> ((\lambda \two %<LET> (</let></let></let>…

第 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 機械はテープとプログラムとプロ…

現状の LISP on TeX で条件分岐や繰り返しをしてみる

[2012-07-07 補足]「LISP on TeX」の作者は @hak7a3 さんです。念のため。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); j…