LoginSignup
4
2

Ruby ワンライナー 入門

Last updated at Posted at 2024-02-02

前置き

ワンライナー

手元で何かしたいときに,スクリプトを書くことがある.
自分の基準だと,

  1. ワンライナー
  2. Make
    • make がデフォルトインストールされている場合
  3. プログラミング言語のスクリプト
  4. プロジェクト

みたいな優先順位になることが多い.
必要となる速度,妥当性検証,再利用性みたいな部分でもこの順序で考えていそう.

Ruby

今まで,Perl でやっていたけど,Ruby か別の言語にしようと思ったので,
今回のステップでは Ruby にする.12

準備

パイプ

$ ruby -lpe 'do something for $_'

よくあるパターン

$ ruby -lne 'do something for $_'

あとよく使うオプション

  • -a
    • スプリット($F = $_.split) する
  • -F
    • $;
    • フィールド区切り文字指定.正規表現.
  • -0
    • $/
    • 行区切り文字指定.指定しないとヌル文字(\0)になる.find -print0 のやつ.
    • -0777 で全部読み込み

変数

よく使う変数は,

  • $_
    • Kernel.gets メソッドの戻り値が自動的に入る.-n / -p で使う.
  • $/
    • Kernel.gets メソッドの引数のデフォルト値.-0 で指定できる.
  • $;
    • String.split メソッドの第一引数のデフォルト値 -F で指定できる.
  • ARGV / $*
    • 引数を取り出せる.
  • ARGF
    • 標準入力 or 指定されたファイルを自動判定する仮想ファイル.
$ ruby -e 'p ARGV' a b c
["a", "b", "c"]

制御構造

  • BEGIN / END
    • 最初か最後に実行するブロックを指定できる.
    • -n オプションの while get; end の中に入れたくないような処理を入れるのに使ったりする.

Refs

  1. ネクストステップだと,型ありがいいかも?

  2. Perl を書ける人が少ないなどの理由がある.

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2