Because if discount is nil then it will not have a zero.
Ruby if nil then empty string.
Nil object id 4 let s take.
Method to avoid empty string as well.
Because nil is nil not a string.
If you want b to be something other than nil you need to set it.
As i said to s can return anything and in general doing things to that string will not affect the underlying object.
Rails adds the method blank.
To the object class.
I don t understand the issue.
False nil all blank true present.
Is also an activesupport extension to ruby object and it is the negation of blank.
Returned nil or a string or a number something different than true or false.
So it s better to use blank.
Current ruby style guide stands the and and or keywords are banned.
You can think of nil as the most general way of representing absence in ruby.
An object is blank if it s false empty or a whitespace string.
In the previous section we ve covered the nil construct in ruby.
Now let s cover a much more specific way of representing a lack of data and that is emptiness.
Returns true for nil false empty or a whitespace string.
Is an activesupport extension to ruby object and returns true for nil false empty or a white space string.
That way the returned value is always converted to a boolean value.
Dave newton jul 31 13 at 12 10.
There is only one nil object with an object id of 4 or 8 in 64 bit ruby this is part of why nil is special.
Nil s to s returns a new string with nil inside it.
Well nil is a special ruby object used to represent an empty or default value.
Is just a double negation of empty.
It s also a falsy value meaning that it behaves like false when used in a conditional statement.
Is a rails method and solves the issue of the ugly error you get when checking if something nil is empty.
For example nil and are blank.
Same is the case when data false blank.
Anything can potentially be nil and every object can answer to the nil method.