Actions
Bug #13044
closedruby unless bug with plural conditions
Bug #13044: ruby unless bug with plural conditions
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
Description
I am working on an app where I need to process various data-items based upon different ruby types. While setting up conditonal-checks, I discovered that "unless" fails to handle plural conditions.
Please consider the following example:
class ThingA end class ThingB end class ThingC end # obj = ThingA.new # obj = ThingB.new obj = ThingC.new # puts 'yes it is a ThingC' unless obj.is_a?(ThingA) && obj.is_a?(ThingB) # BUG # puts 'yes it is a ThingC' if !obj.is_a?(ThingA) && !obj.is_a?(ThingB) # this works ok # works ok with singular condition unless obj.is_a?(ThingA) unless obj.is_a?(ThingB) puts 'yes it is a ThingC' end end Thanks.
Regards,
Imran
Updated by nobu (Nobuyoshi Nakada) almost 9 years ago
- Description updated (diff)
- Status changed from Open to Rejected
unless a && b equals to if !(a && b).
See https://en.wikipedia.org/wiki/De_Morgan%27s_laws for more info.
Actions