わたなべです。

Tadashi Oh-Ya <toy / k-cable.co.jp> writes:

:P.135 にある lndir.rb の中で、
:-----------------------------------------------------------------
:  def lndir dir                         # メイン関数
:    # (A) ソースディレクトリ名の作成
:    if dir[0] == ?/
:      newsrcdir = dir
:    else
:      newsrcdir = "../#{dir}"
:    end
:-----------------------------------------------------------------
:とあるのですが、この dir[0] == ?/ の意味がわかりません。

これは
  dir[0,1] == '/'
や
  dir =~ /^\//
と同じ意味。

:として変数の内容を見ながら幾つかのケースで実行してみましたが、
:dir[0] == ?/ が真になることは無いように感じました。
:
:dir[0]の中身は、puts dir[0]で見てみると、1文字目のASCIIコード
:(10表記)となっているようです。これが、どのように ?/ とマッチす
:るのでしょうか。

dirが/で始まってる場合です。つまり絶対パスのとき。

-- 
わたなべひろふみ