Ruby 打开目录并创建新文件
我有一个创建嵌套目录的语句:Ruby 打开目录并创建新文件,ruby,Ruby,我有一个创建嵌套目录的语句: require 'fileutils' FileUtils::mkdir_p ''+project_name+'/new_folder' 例如,我想在new\u文件夹中添加一个名为README.md的新文件。有没有办法用Ruby做到这一点呢?你只需要这样做 path_name = "#{project_name}/new_folder" FileUtils::mkdir_p path_name FileUtils::touch("#{path_name}/READ
require 'fileutils'
FileUtils::mkdir_p ''+project_name+'/new_folder'
例如,我想在new\u文件夹中添加一个名为README.md
的新文件。有没有办法用Ruby做到这一点呢?你只需要这样做
path_name = "#{project_name}/new_folder"
FileUtils::mkdir_p path_name
FileUtils::touch("#{path_name}/README.md")
这将在项目名称/new\u文件夹
目录中创建一个名为README.md
的空文件。您只需执行以下操作即可
path_name = "#{project_name}/new_folder"
FileUtils::mkdir_p path_name
FileUtils::touch("#{path_name}/README.md")
这将在项目名称/new\u文件夹
目录中创建一个名为README.md
的空文件。您可以这样做
2.1.2 :015 > project_name = "foo"
=> "foo"
2.1.2 :016 > fld = FileUtils::mkdir_p "#{project_name}/new_folder"
=> ["foo/new_folder"]
2.1.2 :017 > FileUtils.touch "#{fld[0]}/README.md" if fld
=> ["foo/new_folder/README.md"]
[retgoat@iMac-Roman ~/foo/new_folder]$ ls -la
total 0
drwxr-xr-x 3 retgoat staff 102 17 май 17:44 .
drwxr-xr-x@ 119 retgoat staff 4046 17 май 17:45 ..
-rw-r--r-- 1 retgoat staff 0 17 май 17:44 README.md
请注意,我没有测试您的代码,但如果它对您有效,下面的示例将在新文件夹中创建一个文件README.md
,您可以这样做
2.1.2 :015 > project_name = "foo"
=> "foo"
2.1.2 :016 > fld = FileUtils::mkdir_p "#{project_name}/new_folder"
=> ["foo/new_folder"]
2.1.2 :017 > FileUtils.touch "#{fld[0]}/README.md" if fld
=> ["foo/new_folder/README.md"]
[retgoat@iMac-Roman ~/foo/new_folder]$ ls -la
total 0
drwxr-xr-x 3 retgoat staff 102 17 май 17:44 .
drwxr-xr-x@ 119 retgoat staff 4046 17 май 17:45 ..
-rw-r--r-- 1 retgoat staff 0 17 май 17:44 README.md
请注意,我没有测试您的代码,但是如果它对您有效,下面的示例将在新文件夹中创建一个文件README.md
,用于构建文件规范,最好使用文件.join
方法。这是一个更高的级别,处理任何额外或缺少的目录分隔符,并为运行它的操作系统使用正确的文件分隔符
例如:
2.3.0 :006 > project_name = 'my_project'
=> "my_project"
2.3.0 :009 > filespec = File.join(project_name, 'new_folder', 'README.md')
=> "my_project/new_folder/README.md"
在“新建文件夹”之前和之后提供斜杠时,斜杠仍然有效:
2.3.0 :010 > filespec = File.join(project_name, '/new_folder/', 'README.md')
=> "my_project/new_folder/README.md"
对于构建filespec,最好使用File.join
方法。这是一个更高的级别,处理任何额外或缺少的目录分隔符,并为运行它的操作系统使用正确的文件分隔符
例如:
2.3.0 :006 > project_name = 'my_project'
=> "my_project"
2.3.0 :009 > filespec = File.join(project_name, 'new_folder', 'README.md')
=> "my_project/new_folder/README.md"
在“新建文件夹”之前和之后提供斜杠时,斜杠仍然有效:
2.3.0 :010 > filespec = File.join(project_name, '/new_folder/', 'README.md')
=> "my_project/new_folder/README.md"
''+
的作用是什么?它获取用户的输入并将其创建为主文件名。例如:project\u name=gets.chomp
我相信@sawa意味着空字符串“”是不必要的,Raymond。无论如何,在这样的情况下,最好使用字符串插值而不是串联:“{project\u name}/new\u folder”
它获取用户的输入并将其创建为主文件名。例如:project\u name=gets.chomp
我相信@sawa意味着空字符串“”是不必要的,Raymond。无论如何,在这样的情况下,最好使用字符串插值而不是串联:“{project\u name}/new\u folder”