2012-10-16 51 views
2

我想知道是否有写在红宝石以下的干法:红宝石多或评估对于字符串值

ext == ".xlsx" || ext == ".xls" || ext == ".ods" 

我最初的想法是这似乎并没有按预期工作如下:

ext == ".xlsx" || ".xls" || ".ods" 
+0

您对第二块代码的期望是错误的。 –

+2

@DavidGrayson是的,我注意到了,所以这个问题。 – Noz

+0

只要确保您知道这不是Ruby解释器中的错误 –

回答

3
%w(.xlsx .xls .ods).include? ext 
5

是的,有...

['.xlsx','.xls','.ods'].include? ext 
1
ext =~ /(.xlsx$)|(.xls$)|(.ods$)/ 

irb(main):009:0> '.xlsx' =~ /(.xlsx$)|(.xls$)|(.ods$)/ 
=> 0 
irb(main):010:0> '.xlsa' =~ /(.xlsx$)|(.xls$)|(.ods$)/ 
=> nil