As a non native english speaker I always find it difficult to read statements with unless
. Whenever I see unless
, I pause for a few seconds to get my head around it.
Actually the word unless
is equivalent to if not
. So saying Go out unless raining
is same as Go out if not raining
. unless
syntax is something that other traditional language does not have. They use !
. In ruby we can use both. It even allows us to use if not
.
All three statements are equivalent:
1
2
3
go_outside unless raining
go_outside if !raining
go_outside if not raining
To me the third one is much more readable compared to the first and the second.