Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby:搜索关键字的文件名_Ruby - Fatal编程技术网

Ruby:搜索关键字的文件名

Ruby:搜索关键字的文件名,ruby,Ruby,我正在用ruby编写一个case语句,它将获取当前文件名,并查看文件名是否包含特定的单词,但我的代码总是出错 file = File.basename(__FILE__) case file when file.include? "daily" HtmlCache.delete_all "daily = 1" when file.include? "weekly" HtmlCache.delete_all "weekly = 1" end 有人知道如何在文件名中搜索特定单词吗?使用if

我正在用ruby编写一个case语句,它将获取当前文件名,并查看文件名是否包含特定的单词,但我的代码总是出错

file = File.basename(__FILE__)
case file
when file.include? "daily"
  HtmlCache.delete_all "daily = 1"
when file.include? "weekly"
  HtmlCache.delete_all "weekly = 1"
end
有人知道如何在文件名中搜索特定单词吗?

使用if而不是case。你的语法不对

file = File.basename(__FILE__)
if file.include? "daily"
  HtmlCache.delete_all "daily = 1"
elsif file.include? "weekly"
  HtmlCache.delete_all "weekly = 1"
end
使用if而不是case。你的语法不对

file = File.basename(__FILE__)
if file.include? "daily"
  HtmlCache.delete_all "daily = 1"
elsif file.include? "weekly"
  HtmlCache.delete_all "weekly = 1"
end
试试这个:

file = File.basename(__FILE__)
case file
when /daily/
  HtmlCache.delete_all "daily = 1"
when /weekly/
  HtmlCache.delete_all "weekly = 1"
end
Ruby的case语句使用===so case file匹配/daily/invokes/daily/===file,这在正则表达式上可以正常工作。

尝试以下方法:

file = File.basename(__FILE__)
case file
when /daily/
  HtmlCache.delete_all "daily = 1"
when /weekly/
  HtmlCache.delete_all "weekly = 1"
end
Ruby的case语句使用===so case file匹配/daily/invokes/daily/==file,这在正则表达式上可以正常工作