Project

General

Profile

Actions

Feature #11848

closed

New #to_b method for String, Symbol, Numeric, NilClass, TrueClass and FalseClass.

Added by prodis (Fernando Hamasaki de Amorim) about 9 years ago. Updated about 8 years ago.

Status:
Rejected
Target version:
-
[ruby-core:72390]

Description

New to_b method converts strings, symbols, numbers and nil values in a boolean value.

to_b method is available on String, Symbol, Numeric, TrueClass, FalseClass and NilClass classes.

String

Returns true if string is one of t, true, on, y, yes or 1 values. Returns false otherwise.
Ignores trailing spaces and letter cases.

't'.to_b        # => true
'true'.to_b     # => true
'on'.to_b       # => true
'y'.to_b        # => true
'yes'.to_b      # => true
'1'.to_b        # => true

''.to_b         # => false
'0'.to_b        # => false
'2'.to_b        # => false
'-1'.to_b       # => false
'f'.to_b        # => false
'false'.to_b    # => false
'off'.to_b      # => false
'n'.to_b        # => false
'no'.to_b       # => false
'wherever'.to_b # => false

Symbol

Same as symbol.to_s.to_b.

:'1'.to_b      # => true
:t.to_b        # => true
:true.to_b     # => true
:on.to_b       # => true
:y.to_b        # => true
:yes.to_b      # => true

:f.to_b        # => false
:false.to_b    # => false
:off.to_b      # => false
:n.to_b        # => false
:no.to_b       # => false
:wherever.to_b # => false

Numeric

Returns false if number is zero. Returns true otherwise.

Integer

0.to_b  # => false
1.to_b  # => true
2.to_b  # => true
-1.to_b # => true
-2.to_b # => true

Float

0.0.to_b  # => false
0.1.to_b  # => true
1.0.to_b  # => true
-0.1.to_b # => true
-1.0.to_b # => true

BigDecimal

require 'bigdecimal'

BigDecimal('0.0').to_b  # => false
BigDecimal('0.1').to_b  # => true
BigDecimal('1.0').to_b  # => true
BigDecimal('-0.1').to_b # => true
BigDecimal('-1.0').to_b # => true

NilClass

Returns false.

nil.to_b # => false

TrueClass

Returns true.

true.to_b # => true

FalseClass

Returns false.

false.to_b # => false

Files

to_b_method.diff (9.63 KB) to_b_method.diff prodis (Fernando Hamasaki de Amorim), 12/19/2015 05:06 PM

Related issues 1 (0 open1 closed)

Has duplicate Ruby master - Feature #12012: Add Boolean methodRejectedActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0