スクリプトがディレクトリにアクセスする必要があるとしましょう。たとえば、「任意」のOSで/some/where/abc
と入力します。 Rubyでパスを構築するためのカップルのオプションがあります。Rubyで移植可能な絶対パスを構築するには?
File.join('', 'some', 'where', 'abc')
File.absolute_path("some#{File::SEPARATOR}where#{File::SEPARATOR}abc", File::SEPARATOR)
- 標準APIで
Pathname
私は最初のソリューションは、十分に明確ますが、慣用的であると考えています。私の経験では、いくつかのコードレビューは、絶対パスを構築するためのより良い方法は、より良い手段が「ないルビー、そこです
質問
...それが何をするかを説明するコメントを求めます仕事と話すこと自体 "?
コードレビューでドキュメントをリンクするだけです。明示的に "File :: SEPARATORを使用して文字列を結合することによって形成された新しい文字列を返します。 'File#join'は移植可能なパスを生成する通常の方法です。 –
「任意のOS」が意味することに応じて、文字列リテラルとしての「tmp/abc /」はLinux、Mac、Windows上の有効なパスです。 –
ドキュメント、またはコメントとしての意図したパスだけがうまく機能します。 Rubyで隠された、または忘れられた呪文を見つけようとするだけです。 –