Issue #13260 has been updated by Yukihiro Matsumoto.
Status changed from Open to Feedback
The proposal is still vague, especially when `strict: false`. The criteria are totally culture dependent.
"yes" may be true for English speaking people, but what about "¤Ï¤¤" (Japanese) or "Ja" (German)? The list would go on.
Until the ambiguity resolved, I am against the proposal.
Matz.
----------------------------------------
Feature #13260: Kernel#Boolean
https://bugs.ruby-lang.org/issues/13260#change-63242
* Author: Tsuyoshi Sawada
* Status: Feedback
* Priority: Normal
* Assignee:
* Target version:
----------------------------------------
I think we have lots of occasions to receive a `true` or `false` value as a string input, and want to convert it to `true` or `false`. Perhaps we can have a method `Kernel#Boolean` in a similar spirit to `Kernel#Integer` and its kins, which takes an optional keyword argument `exception` (similar to https://bugs.ruby-lang.org/issues/12732) and `strict` (defaulted to true).
```ruby
Boolean("true") # => true
Boolean("false") # => false
Boolean("foo") # => ArgumentError
Boolean("foo", exception: nil) # => nil
Boolean("1") # => ArgumentError
Boolean("1", strict: false) # => true
Boolean("yes", strict: false) # => true
Boolean("0", strict: false) # => false
Boolean("no", strict: false) # => false
Boolean("foo", strict: false, exception: nil) # => nil
```
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>