niszetの日記

細かい情報を載せていくブログ

(Pandoc) Luaフィルタを書くときはコンストラクタの定義順に気を付ける(メモ)

Luaフィルタのマニュアルではわかりづらいのですが…

前回の記事でLuaのフィルタを書いていて実際に自分がハマったのでメモ。

Luaフィルタのマニュアルには各要素(BlockとかInlineとかのアレ。適切な訳語わからず)について、「Lua type reference」と「Module pandoc」2か所にわけて書かれています。前者が各要素が持つプロパティに相当するもの(これもなんていえばいいんだろう)とその説明。後者はモジュールに含まれている各要素のコンストラクタとしての使い方になります。

ここで、前の方に書かれている各要素の説明の順序とコンストラクタで定義するときの順序は異なります。これを間違えてもPandocはエラーを出さないことがあるので注意です。nilを与えるとエラーになったりするのですが…。正確な挙動は今ちょっとよくわからん…。

pandoc.org

Luaフィルタのマニュアルの読み方をまとめた方が良いかもしれないですねぇ…ダレカカイテ