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