mots quotidiens. | |
Daichi Mochihashi (持橋大地) daichi <at> ism.ac.jp | by hns, version 2.10-pl1. |
|
||||||||||||||||||||||||||||||||||||||||||||||
opts <- getopts ( c( "alpha", "a", 1, "double", "iters", "N", 2, "integer", "output", "o", 2, "character", "help", "h", 0, "logical" ), usage, 2)のように書くだけで使えます。&, opts にある名残り opt$ARGS (上の一般引数に 対応しようとした名残りだと思われます) を消し, 指定されなかったオプションには NAを代入するので, opt$foo のようにそのまま他に引数として渡すことができます。
#!/usr/local/bin/Rscript # # opts.R # for easy use of getopt(1). # $Id: opts.R,v 1.5 2020/10/07 00:21:00 daichi Exp $ # library("getopt") getopts <- function (spec, usage, n, ...) { res <- list() tokens <- commandArgs (T) if (length(tokens) < n) { usage () } if (substr(tokens[1], 1, 1) == "-") { res$args <- tail (tokens, n) res$opts <- getopt (matrix (spec, byrow=T, ncol=4), head (tokens, -n), ...) } else { res$args <- head (tokens, n) res$opts <- getopt (matrix (spec, byrow=T, ncol=4), tail (tokens, -n), ...) } # fill unused options by NA names <- spec [seq(1,length(spec),by=4)] for (name in names) { if (is.null(res$opts[[name]])) { res$opts[[name]] <- NA } res$opts$ARGS <- NULL } res } main <- function () { usage <- function () { cat ('usage: % opts.R --iter=iters --output=file train model\n') quit () } opts <- getopts ( c( "alpha", "a", 1, "double", "iters", "N", 2, "integer", "output", "o", 2, "character", "help", "h", 0, "logical" ), usage, 2) if (!is.na(opts$opts$help)) { usage () } print (opts$args) print (opts$opts) } if (!interactive() & sys.nframe() == 0) { main () }
家に帰って junet 時代のドキュメントを眺めていたら,
吉田茂樹さん
*1
が書かれた「msマクロを使用した文書の書き方」
という文書があるのを発見した。(1988年)
これは今探すと,
http://ftp.riken.jp/pub/misc/Japan/JUNET-DB/troff/
などに置いてある模様。
この中から必要なファイルを取ってきて make を実行すると, ms.tut.ms が処理
されて文書が得られます。結果を ps->pdf 化したものが
こちら。
(pdf)
これは日本語でmsの各種マクロの意味が解説されており, 特殊文字の一覧や
必要になる troff コマンドの解説も含まれているので, troff についてはかなり役に
立ちそうです。
言うまでもないですが, roff,tbl,eqn 等については "The Unix Super Text"(下)の48章に
簡単な解説が含まれています。
*2
他に, me マクロパッケージについては, /usr/share/doc/groff-1.18.1/ の下に
meintro.ms が置いてあって(私の環境の場合), % troff -me -Tps meintro.ms でタイプセット
して読めるようです。me の方が, 現代のLaTeXの文書に近いような感じです。
また, メモ代わりですが, ベル研のテクニカルレポートのページ
http://cm.bell-labs.com/cm/cs/cstr.html
にも各種文書が集まっている模様。
上の junet の文書は前に
はらださん
に教えてもらったものですが,
僕もそれまで聞いたことがなかったし, かなり知られていないような気がします。
「コアラ大将のTCP/IP入門」とか昔は有名だったらしいですが, 今も役に立つかは
微妙。
「おヒマならMHを使ってよネ!」は
このへん
に置いてありました。w
言語モデルでは, 一般に文頭と文末に特殊な文字があると考えるので,
途中の文字の省略も含めて, 言語モデルでデコードしてやると高確率で元に戻せる
のではないかと思う。(追加と違って本質的に情報が落ちているので, 確実な復元は
無理ですが..。)
ずっと前に書いた
似非中国語化
ではないですが, 「常考」とか「感感俺俺」とか, 実際に省略が起きている例は
あるかもしれない。
「石こは無か」って何だろう, と思っていたら, 突如
「流石にこれは無理か」の省略だとわかった。人間恐るべし。(笑)
タイトル一覧 |