読者です 読者をやめる 読者になる 読者になる

blechmusikの日記

キー・カスタマイズ・ソフトウェア "DvorakJ" の覚え書きをはじめとして様々なことを書いています。

/* */ を文字列として出力する

問題の所在

DvorakJ の設定ファイルに /* と */ を直接記述してもそれらを文字列として出力できない。DvorakJ の内部では、設定ファイル全体をまず読み込み、それから /* と */ で囲まれた箇所の設定を読み取らないように処理している。こういうわけで、 /* と */ はコメントの開始記号と終了記号として認識されてしまい、文字列としては無視されてしまうのだ。

対処方法

/* */を文字列として出力するには別名を割り当てること。設定ファイル中に /* と */ という文字列を直接記述しなければよく、間接的に記述すればよい。たとえば、* の別名として @star@を、/* の別名として @slash-star@を 、*/ の別名として @star-slash@ をそれぞれ割り当てるとしよう。その設定はつぎのようになる。

-option-output[
    @star@ | *
    @slash-star@ | /@star@
    @star-slash@ | @star@/
]

そのうえで設定ファイルに @slash-star@ @star-slash@ と記述することで /* */ を出力できる。