Ruby

スクリプト言語の一つ。純粋オブジェクト指向。いろいろな点で非常に自由なのが特徴。
開発者はまつもとゆきひろ(Matz)氏。楽しくプログラミングできる(“enjoy programming”)ようにというのがモットー。

2013年以降、毎年クリスマスにメジャーバージョンアップ(2.xのxが上がる)されるのが恒例。

リンク

ファイル周り

ファイル一覧の取得

# jpgファイル一覧を取得
# globでは正規表現ではなくUnix的なglobで指定する
# /**/を挟むと任意の深さのファイルを取得できる
# fにはファイル名が文字列で入る
Dir.glob("./**/*.jpg").each do |f|
  # 拡張子を除いたファイル名のみ出力する
  if f =~ /.+\/(.+)\.jpg$/ then
    puts $1
  end
end

xオプション

rubyコマンドに-xオプションをつけると、対象ファイルのうち「#!で始まり, rubyという文字列を含む行」以降「OF(ファイルの終り), ^D(コントロールD), ^Z(コントロールZ)または予約語__END__」までのみをrubyスクリプトとして実行できる。

例として、Windows向けのRubyInstaller2のridkコマンドとして実行されるridk.cmdは、本質的に

@echo off

"%~dp0ruby" -x "%~f0" %*
@exit /b %ERRORLEVEL%

#!/mingw64/bin/ruby
require "ruby_installer/runtime"
RubyInstaller::Runtime::Ridk.run!(ARGV)

である。
これによりridk.cmdと同じフォルダにあるruby.exeに対して自身を渡し、自身の後半にあるRubyスクリプトを実行させている。

なお、xオプションをつけなくても「コマンドラインに指定したスクリプトが #! で始まるファイルで、その行に ruby という文字列を含まない場合、その行を読み飛ばします。#! に続く文字列が ruby という文字列を含む行を見つけたらその行以下を Ruby スクリプトとして実行します」という仕様があるため、

#!/bin/sh
exec ruby -x "$0" "$@"
#!ruby
p ARGV
puts "Hello, World!"

はxオプションなしでshのスクリプトとして実行できる。

Nokogiri

HTMLやXMLを扱うライブラリ。WebスクレイピングやHTML/XMLの加工・編集が簡単にできる。
cssセレクタによる参照が(XPathを覚えなくて良いので)便利。


最終更新: 2020-09-18 07:40:43 +0900

[Top]

This page is generated by sinanoki.