paizaのスキルアップラーニングでRがbetaテスト段階とはいえ使えるようになるらしい。
大変喜ばしいことである一方で、正直Rで競技プログラミング的な話は全くやらないので標準入力すらわからない。
もちろんサンプルコードもない。
ということで調べてみた。
ググると出てくるんだけど……
色々サイトが出てきたのでそれを参考にやってみる。
とりあえず複数行とかやると死ぬので
paiza.jp
をまずはちゃんと解けるようにすることが目標。
標準入力の方法
multivariate-statistics.com
のサイトだと
input <- readLines(stdin(), n = 2)
で標準入力でデータの取得ができるらしい。
ということで実際に標準入力の1題目である1行の入力をn = 1として実行してみる。
このように何も入力されていない。
標準入力を行うために、readLinesの最初の引数に"stdin"を指定し、readLines("stdin")とすることもできますが、R studio上で行うとタスクがキルされるまで入力を受け付けるようになってしまい、一切R studioが使えなくなってしまいます。
ということみたいなので最初の引数をstdinとするためにはどうしたらいいかとググってみたところ
ujicya.jp
という記事があったのでそのようにやってみる。
コードはこんな感じ。
input <- readLines("stdin") cat(input)
よし、無事に入力できた!
標準出力の方法
www.rdocumentation.org
cat()関数だと問題なくできるが
www.rdocumentation.org
print()関数だとダメみたい。
なので大人しくcat()を使うと良い。
まとめ
- 入力はreadLines("stdin")
- 出力はcat()
を用いるととりあえず1行の入力と出力ができます。