環境変数PATHやCLASSPATHの値をチェックする

id:argius:20060403:1144071915
おー、便利そうなツールです。id:argiusさんのRuby版を自分で読み易いように書いてみました。最近はやりのPathnameを使っています。初めてのPathnameです。akrさんのインターフェースはシンプルで好き。

#!/usr/bin/env ruby
# -*- ruby -*-

require 'pathname'

def ENV.each_path(vname)
  env = self[vname]
  return unless env
  env.split(File::PATH_SEPARATOR).each do |fname|
    yield(Pathname.new(fname))
  end
end

ARGV.each do |vname|
  ENV.each_path(vname) do |path|
    mark = if path.exist? then path.stat.ftype[0, 1] else '!' end
    puts "#{mark} #{path}"
  end
end