R でコマンドライン引数を扱う
これ
に回答したときに,コマンドライン引数の扱いについて調べた.
- スペースを含む引数は
"--arg=hoge fuga"
のように全体をクオートで囲う--args='hoge fuga
とするとスペースで切られる
optparse
を使うとPython
っぽく書ける- 自作関数を作らなくていいし,変な入力もチェックできる
- コマンドライン引数をとってくる部分は
commandArgs()
なので,スペースを含む引数の指定の仕方は同じ
- 他にもいくつかパッケージがあるようだ
optparse
を使わない
質問した人はこんな感じにコマンドライン引数を扱っていた.
args_test.r
args <- commandArgs(trailingOnly=T) parseArgs <- function(x) strsplit(sub("^--", "", x), "=") print(parseArgs(args))
実行
> r --slave --file=args_test.r --args --title=TITLE "--author=AUTHOR NAME" # [[1]] # [1] "title" "TITLE" # [[2]] # [1] "author" "AUTHOR NAME"
これでもエラーにならない
> r --slave --file=args_test.r --args --title=TITLE --author='AUTHOR NAME' # [[1]] # [1] "title" "TITLE" # # [[2]] # [1] "author" "'AUTHOR" # # [[3]] # [1] "NAME'"
optparse
を使う
args_test2.r
suppressPackageStartupMessages(library("optparse")) parser <- OptionParser() parser <- add_option(parser, c("--title"), action="store", default="TITLE", help="Title") parser <- add_option(parser, c("--author"), action="store", default="AUTHOR NAME", help="Author") print(parse_args(parser))
実行
--help
が付く
> r --slave --file=args_test2.r --args --title=TITLE "--author=AUTHOR NAME" # package 'optparse' was built under R version 3.3.3 # $help # [1] FALSE # # $title # [1] "TITLE" # # $author # [1] "AUTHOR NAME"
これはエラー
> r --slave --file=args_test2.r --args --title=TITLE --author='AUTHOR NAME' # Error in getopt(spec = spec, opt = args) : # "NAME'" is not a valid option, or does not support an argument # Calls: print -> parse_args -> getopt # Execution halted
AtCoder AGC #017
Aしかとけず.
A問題,頑張ってCombinationで解いたんだけど,解説読むとCombination使わないらしくて,失敗. 通ったからいいが,結構時間かかった.
2017年6月に読んだ本
今月はなんか漫画ばっかり読んでた
- HUNTER X HUNTER
なんと連載が再開されるということで,思わず全巻買ってしまった. 読んでみて思ったのは,意外に全部読んでいたな,ということ. で,再開されたのを読んだのだけれど,どういう状況なのかがわからなかった. 34巻は(カラー版で揃えたので)まだ読んでないのだけど,あらすじを読むとヒソカとクロロが闘ってる,みたいなこと書いていて,そういえばそんなことしてたな,と思った.
- 無能なナナ
Twitter で知って読んだ. 面白かったが,これで何巻までいけるのか,不安.
- もののがたり
Jump+ で読んで面白かったので購入. 設定としてはよくある感じかもしれないけど,こういうのが好きなので,すでに3周ぐらい読んでると思う. 早く6巻電子版出て欲しい.
4,5,6巻読んだ. アニメは第4部をみているが,中断中.
- 絵でわかる人工知能
ネコが人工知能について教えてくれる. ゆるい本だが,結構きっちり幅広く書いている. キーワードを抑えるにはとてもいい本.
- ダメ女たちの人生を変えた奇跡の料理教室
この本は本当にいい本で,読み終わった次の日にいつの飲んでるレトルトの味噌汁を見て,めんどくさいからこれ買ってるけどやっぱ作った方がよいな,という気持ちになった. この料理教室が近所でやってたら絶対に行くと思う. 読み返してレシピブックとして使いたい.
- ちいさい言語学者の冒険
子供が言語習得する過程を観察できるの,一生に何回もないので,結構貴重だと思った.
- バッタを倒しにアフリカへ
バッタ博士,結構ハチャメチャな人だという印象があったけど,白眉通っているだけあって「いかに論文を書くか」という視点で研究計画をきちんと立てていて,すごい人なのだなぁと思った. フランス語全然わからないのに余裕でコミュニケーションしていて.すごい能力だと思った.
期間 : 2017年06月 読了数 : 49 冊 | |
荒木 飛呂彦 / 集英社 (2014-03-19) 読了日:2017年6月29日 | |
荒木 飛呂彦 / 集英社 (2013-10-18) 読了日:2017年6月29日 | |
読了日:2017年6月29日 | |
読了日:2017年6月29日 | |
キャスリーン・フリン / きこ書房 (2017-02-09) 読了日:2017年6月29日 | |
広瀬 友紀 / 岩波書店 (2017-03-18) 読了日:2017年6月29日 | |
読了日:2017年6月20日 | |
読了日:2017年6月20日 | |
読了日:2017年6月20日 | |
前野ウルド浩太郎 / 光文社 (2017-05-17) 読了日:2017年6月20日 | |
三宅 陽一郎 , 森川 幸人 / SBクリエイティブ (2016-08-27) 読了日:2017年6月16日 | |
西尾 維新 / 講談社 (2011-09-29) 読了日:2017年6月14日 | |
西尾 維新 / 講談社 (2011-06-29) 読了日:2017年6月13日 | |
るーすぼーい , 古屋庵 / スクウェア・エニックス (2017-05-22) 読了日:2017年6月11日 | |
るーすぼーい , 古屋庵 / スクウェア・エニックス (2017-02-22) 読了日:2017年6月11日 | |
冨樫 義博 / 集英社 (2016-06-03) 読了日:2017年6月8日 | |
冨樫 義博 / 集英社 (2012-12-28) 読了日:2017年6月8日 | |
冨樫 義博 / 集英社 (2012-12-04) 読了日:2017年6月8日 | |
冨樫 義博 / 集英社 (2012-04-04) 読了日:2017年6月8日 | |
冨樫 義博 / 集英社 (2011-08-04) 読了日:2017年6月8日 | |
冨樫 義博 / 集英社 (2011-07-04) 読了日:2017年6月8日 | |
冨樫 義博 / 集英社 (2009-12-25) 読了日:2017年6月8日 | |
冨樫 義博 / 集英社 (2008-10-03) 読了日:2017年6月6日 | |
冨樫 義博 / 集英社 (2008-03-04) 読了日:2017年6月6日 | |
冨樫 義博 / 集英社 (2007-10-04) 読了日:2017年6月6日 | |
冨樫 義博 / 集英社 (2006-03-03) 読了日:2017年6月6日 | |
冨樫 義博 / 集英社 (2005-07-04) 読了日:2017年6月6日 | |
冨樫 義博 / 集英社 (2005-02-04) 読了日:2017年6月6日 | |
冨樫 義博 / 集英社 (2004-06-04) 読了日:2017年6月6日 | |
冨樫 義博 / 集英社 (2004-02-04) 読了日:2017年6月6日 | |
冨樫 義博 / 集英社 (2003-10-03) 読了日:2017年6月5日 | |
冨樫 義博 / 集英社 (2003-06-04) 読了日:2017年6月5日 | |
冨樫 義博 / 集英社 (2003-02-04) 読了日:2017年6月5日 | |
冨樫 義博 / 集英社 (2002-10-04) 読了日:2017年6月5日 | |
冨樫 義博 / 集英社 (2002-04-04) 読了日:2017年6月5日 | |
冨樫 義博 / 集英社 (2001-01-01) 読了日:2017年6月5日 | |
冨樫 義博 / 集英社 (2001-07-01) 読了日:2017年6月5日 | |
冨樫 義博 / 集英社 (2001-03-01) 読了日:2017年6月3日 | |
冨樫 義博 / 集英社 (2000-11-01) 読了日:2017年6月3日 | |
冨樫 義博 / 集英社 (2000-07-01) 読了日:2017年6月3日 | |
冨樫 義博 / 集英社 (2000-04-01) 読了日:2017年6月3日 | |
冨樫 義博 / 集英社 (1999-12-01) 読了日:2017年6月3日 | |
冨樫 義博 / 集英社 (1999-10-01) 読了日:2017年6月3日 | |
荒木 飛呂彦 / 集英社 (2013-05-17) 読了日:2017年6月2日 | |
冨樫 義博 / 集英社 (1999-04-30) 読了日:2017年6月2日 | |
冨樫 義博 / 集英社 (1999-02-04) 読了日:2017年6月2日 | |
冨樫 義博 / 集英社 (1998-11-04) 読了日:2017年6月2日 | |
冨樫 義博 / 集英社 (1998-09-02) 読了日:2017年6月2日 | |
冨樫 義博 / 集英社 (1998-06-04) 読了日:2017年6月2日 |
オライリー
米オライリーから,自社サイトでの電子書籍販売をやめてSafari での定額サービスに移行する,とのアナウンスがあった.
- 今まで購入した分については今まで通り.アクセスもできるし,アップデート等も今まで通り.
- 定額ではなく購入したい場合はAmazon,Google Play Store,iBooksで購入できる
とのこと.
技術書はPDFで読みたいのだけど,オライリーのPDFってほかのところで売っているのだろうか. もちろん,オライリーが売っているほかの出版社の書籍については,その出版社のサイトに行けばPDFが購入できるはず.
Netflix とかが好きならSafariも気に入るだろう,みたいなことを書いてたが,自分の場合は本って多読するやつと精読するやつがあって積読してあるやつがあって,という感じなので,Safariは合わないし採算が合わないと思った. Safari は使ったことがないから詳しくはわからないが.
毎月新しい技術書を読んでます,という人はどれぐらいいるのだろうか.
それとも,ブログとかには書くけど本にするまではいかないようなものを,書籍にきちんとまとめましょう,という方向にもっていきたいのだろうか.