singleton method File.join

join(*item) -> String[permalink][rdoc][edit]

File::SEPARATORを間に入れて文字列を連結します。DOSISH 対応で環境依存になる予定です。

[PARAM] item:
連結したいディレクトリ名やファイル名を文字列(もしくは文字列を要素に持つ配列)で与えます。文字列AとBを連結する際に、Aの末尾の文字とBの先頭の文字がFile::SEPARATORであった場合には、まずこれらを削除した上で改めてFile::SEPARATORを間に入れて連結します。引数の中に配列がある場合は配列要素を再帰的に展開します。空の配列は空文字列に変換されます。配列・文字列以外のオブジェクトを指定した場合は、まず to_str メソッド、次に to_path メソッドにより暗黙の型変換を試みます。引数がない場合には空文字列を生成して返します。
[EXCEPTION] TypeError:
引数の中に文字列以外の(暗黙の型変換が行えない)オブジェクトが存在した場合に発生します。
[EXCEPTION] ArgumentError:
引数の中に、配列要素が自身を含むような無限にネストした配列や、ヌル文字を含む文字列が存在した場合に発生します。


File.join("a","b")                        # => "a/b"
File.join("a/","b")                       # => "a/b"
File.join("a/","/b")                      # => "a/b"
File.join("a","/b")                       # => "a/b"
File.join("a", ["b", ["c", ["d"]]])       # => "a/b/c/d"
File.join("", "a", ["b", ["c", ["d"]]])   # => "/a/b/c/d"
File.join([])                             # => ""
File.join                                 # => ""