Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
76
Help us understand the problem. What is going on with this article?
@bash0C7

定番!Rubyでワンライナー書く時の基本テク

More than 5 years have passed since last update.

ruby -e scriptを使うことで、ワンライナーを書くことができます。

アドホックな調べ物やフィルタ用途に便利なので日頃からよく使っています。
ただ、そのわりに案外書き方をド忘れてしがちなので、改めてまとめておきたくなりました。

標準出力に吐き出す

お馴染み、Kernel.#puts を使います。

エラー出力に吐き出す

Kernel.#warn を使います。

requireほげほげって書くの面倒臭い

-rオプションを使います。複数指定できます。

例えば、jsonとopen-uriをrequireして使う場合。

ruby -rjson -ropen-uri -e 'puts open("http://example.com").read.to_json'

引数を取る

Object::ARGVを使います

標準入力から読み込んで1行ずつ順繰りに処理する

例えば、標準入力から読み込んで1行ずつ順繰りにputsする場合

STDIN.each {|line| puts line }

Object::STDIN定数については http://docs.ruby-lang.org/ja/2.0.0/method/Object/c/STDIN.html を参照してください。

どうしても複数行書きたい。ワンライナーとは何だったのか。

;で区切る

puts 'hoge'; puts 'huga'; puts 'piyo'
76
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
76
Help us understand the problem. What is going on with this article?