ruby—如果X等于这些值中的任何一个(xxx、eeee、yyy、dadadad),该怎么办

ruby—如果X等于这些值中的任何一个(xxx、eeee、yyy、dadadad),该怎么办,ruby,Ruby,fileExt文档的示例 如果fileExt等于doc、xls、ppt 有什么想法吗?使用正则表达式: do_x if file_ext =~ /\A(doc|xls|ppt)\Z/ 或者,如果你有一个足够大的清单,写一个正则表达式觉得不切实际,你可以这样做 file_extensions = %w(xls csv doc txt odf jpg png blah blah blah blah blah) do_x if file_extensions.include?(file_ext)

fileExt文档的示例

如果fileExt等于doc、xls、ppt


有什么想法吗?

使用正则表达式:

do_x if file_ext =~ /\A(doc|xls|ppt)\Z/
或者,如果你有一个足够大的清单,写一个正则表达式觉得不切实际,你可以这样做

file_extensions = %w(xls csv doc txt odf jpg png blah blah blah blah blah)
do_x if file_extensions.include?(file_ext)
当然,始终可以选择单独测试每个值:

do_x if file_ext == "doc" || file_ext == "xls" || ... || file_ext == "zzz"

您可以这样做来检查doc或xls或zzz之间的文件扩展名是否:

file_ext = "doc"

if ["doc","xls","zzz"].include?(file_ext)

puts "true"

end

感觉缺乏某种新的接近理性好的观点@Phrogz,我编辑了我的答案。