-1

我需要检查方法的第三个参数:

def NFS(configsHash, optionsHash, backupType)

我想用一个if语句来检查backupType要保存的路径。就像是:

If #{backupType} == "dir/file/path/name/time"
   STDOUT.puts("Backup will be saved to current folder.")
else 
   STDOUT.puts("Putting into backup folder")
   STDOUT.puts(mkdir #{backups})

但是我一直无法正确使用语法。有什么建议么?

4

3 回答 3

2

你也可以这样做:

case backupType
when "dir/file/path/name/time"
  puts("Backup will be saved to current folder.")
else
  puts("Putting into backup folder")
  puts(Dir.mkdir backups)
end
于 2013-05-06T16:09:22.023 回答
1
# Assuming that backupType is a string 
if backupType == "dir/file/path/name/time"
   print "Backup will be saved to current folder."
else 
   print "Putting into backup folder"
   # This part below is tricky since I don't know what the backups variable is referring to
   print Dir.mkdir backups
end

评论中的@fotanus 对命名约定提出了很好的建议,但为了确保一致性,我将答案的名称保持不变。

于 2013-05-06T15:55:16.130 回答
1
if backupType == "dir/file/path/name/time"
   puts "Backup will be saved to current folder."
else 
   puts "Putting into backup folder"
   Dir.mkdir "path/goes/here"
end

请注意,STDOUT 已被删除。那是多余的。如果您执行 STDOUT.puts.object_id 和 puts.object_id,您会看到它们指的是相同的东西。另外,请注意它是 Dir.mkdir;不只是 mkdir;它需要在 Dir 类上调用。

修改为更地道一点。我还从 Dir.mkdir 中删除了 put;因为我认为这不是你真正想要的。

于 2013-05-06T16:02:11.580 回答