tbcox23
1
I just set up my first ternary operator expression, and got a warning
from Ruby, as a reward! I don’t see what the problem might be:
The expression:
db_type= ‘n’ ? db = @nodes_h : db = @links_h
The warning:
…/lib/setnet/SN.rb:781: warning: string literal in condition
I use string literals all the time in case statements, and other places,
and have never had this objection.
Can someone explain the problem to me? I cannot imagine what it might
be.
Thanks!
t.
–
Tom C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< [email protected] >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
tbcox23
2
Alle Thursday 19 February 2009, Tom C. ha scritto:
and have never had this objection.
Can someone explain the problem to me? I cannot imagine what it might be.
Thanks!
t.
Ruby thinks you are likely to have written = instead of == in the
condition.
Stefano
tbcox23
3
Stefano C. wrote:
Ruby thinks you are likely to have written = instead of == in the condition.
Stefano
Geee, I wonder why? Good Lord!
A real newbie mistake!
t.
–
Tom C., MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< [email protected] >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
tbcox23
4
From: Tom C. [mailto:[email protected]]
db_type= ‘n’ ? db = @nodes_h : db = @links_h
^^^
try replacing = with ==
tbcox23
5
From: Peña, Botp [mailto:[email protected]]
# db_type= ‘n’ ? db = @nodes_h : db = @links_h
^^^
try replacing = with ==
or maybe better do some arrangement, like eg,
db = db_type==‘n’ ? @nodes_h : @links_h
and wc clearly shows diff bw = and ==
tbcox23
6
On Thu, Feb 19, 2009 at 4:19 AM, vimal [email protected]
wrote:
end
Which, since any ruby object except nil and false is truthy is
effectively
the same thing as
db_type = db = @nodes.h
which makes db_type, and db reference the same object, which is the
return
valud of @nodes.h
–
Rick DeNatale
Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale
tbcox23
7
On Feb 19, 1:59 pm, Tom C. [email protected] wrote:
I just set up my first ternary operator expression, and got a warning
from Ruby, as a reward! I don’t see what the problem might be:
The expression:
db_type= ‘n’ ? db = @nodes_h : db = @links_h
I guess your representation (db_type= ‘n’)
doesn’t look like a condition, its like performing an assignment.
If its a condition it should be db_type == ‘n’
Your representation (db_type= ‘n’ ? db = @nodes_h : db = @links_h)
assigns db_type the result of the following:
checks a condition ‘n’
if true
db = @nodes_h
else
db = @links_h
end
Regards,
Vimal Das