2012-07-01から1ヶ月間の記事一覧
さて、しばらくの間 Ruby の話が続いたが、このブログの読者であれば「TeX で如何にして \if を自分で実装するか」について思案を巡らせていたであろうことは想像に難くない。しかし、残念ながら、TeX で既存の条件判断を使わずに自前の等価な実装に置き換え…
結局のところ、既存の if と同等のものを新たに実装しても、新しいことができる訳ではなくあまり面白くない。そこでもっと変態的な if 式を作ることを考えてみた。平凡な ifまずは、従来の「平凡な 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というのは解せぬ。Rubyistではない僕でもRubyにおいてifが関数ではなく制御構文であることは知っています。どういうことなのか。Rubyの話ではないということでしょうか。確かに「好きなRubyの関数」など…
某掲示板のアレの話。 \generateabbrevdef{XXX}{\CS}{<本体>}(ただし一般的に <本体> は第 2 引数の制御綴 \CS を含む)は以下の仕様の命令 \defineabbrevXXX を定義する。 \defineabbrevXXX{<文字列>,...} は、引数のリストの中の各々の文字列 Y について…
LISP on TeX なアレが更新された*1ようなので、コレをその文法で書き換えてみた。\documentclass{article} \usepackage{lisp} \begin{document} % もちろん'%'以降は単なるコメント \lispread\expA{% ((\lambda \zero %<LET> ((\lambda \inc %<LET> ((\lambda \two %<LET> (</let></let></let>…
新しい JIS 文字コードである JIS X 0213(JIS 拡張漢字)が普及する前は、普通の PC で普通に使える漢字は JIS X 0208:1997(JIS 基本漢字)の 6355 文字*1に限られていた。これに対して JIS 拡張漢字(JIS X 0213:2004)では 10050 文字、Unicode 6.1 では…
これは嘘ニュースです (重要なことなので予め反転しました) 要するに、Google の素晴らしいオモチャの綺麗なグラフィックを残念なテキストに変換した、ということ。 これだけで何となく解ると思うが、一応説明しておく。*1 機械はテープとプログラムとプロ…
[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…