File.rename(blog_path + '/' + project_path, File.expand_path(topic_name, blog_path))
我使用这些代码重命名ruby文件名,但我认为有更好的方法用更少的代码编写此功能,因为它包括blog_path两次。
答案 0 :(得分:1)
代码没问题,但我认为这里不需要expand_path
- 这个方法从相对的路径创建一个绝对路径。
此外,最好使用File.join
创建路径,而不是将其与斜杠连接 - 它将完全独立于操作系统。所以我会写这样的代码:
File.rename(File.join(blog_path, project_path), File.join(blog_path, topic_name))
或者如果你想摆脱加倍的blog_path
,在重命名之前改变工作目录:
Dir.chdir(blog_path)
File.rename(project_path, topic_name)
有关使用Ruby中的文件和目录的更多信息,请参阅文章:Ruby for Admins: Files and Directories。