さて、私が持っているファイルパスを取得し、既知のルートパスを削除して、新しいパスを追加したいと思います。Ruby - 新しいルートパスのパスの代わりのルート
私が例にしようとします:
# This one is a path object
original_path = '/home/foo/bar/path/to/file.txt'
# This one is a string
root_path = '/home/foo/bar/'
# This is also a string
new_root = '/home/new/root/'
だから、私はパスの目的である、original_path
を持っています。そして、これからroot_path
を削除し、その前にnew_root
を適用したいと思います。これどうやってするの?
EDIT:
これは私の本当の問題であり、前に貧しい、について説明して申し訳ありません:
require 'pathname'
# This one is a path object
original_path = Pathname.new('/home/foo/bar/path/to/file.txt')
# This one is a string
root_path = '/home/foo/bar/'
# This is also a string
new_root = '/home/new/root/'
は今、どのようにそれらを置き換えますか?
であれば、あなたはまだ
sub
の代わりgsub
を使用することができますこの
編集を行うことができますファイルを新しい場所に移動しようとしているのか、パスの文字列値を変更しようとしていますか? – kcdragon
私は上記の問題を更新しました。私はファイル形式のコンバータを作成しています。基本的に私はパス名を持っています。ルートディレクトリを変更したいので、変換されたファイルを別の場所に置いてディレクトリの構造を '再作成'することができます。 – tedm1106
'root_path'のすべてのファイルを' new_root'にコピーしますか?これはあなたが記述しているものよりはるかに複雑です。 – kcdragon