|
|
|
|
|
by pflats
2428 days ago
|
|
Also, a lot of other languages (Python, Ruby, JS, etc.) can do the same thing with their OR operator: b = list.next.to_s || "Reached end of list."
If list.next.to_s is non-nil, then the OR statement is short-circuited and list.next.to_s will be assigned to b. If b is nil and "Reached end of list." is non-nil, then OR statement will return the string literal to be assigned to b instead. Thus, a = b || c || 0
would be the equivalent for those languages.edit: One BIG downside to this I forgot to mention at first: If nil and a false value are both possible for a variable, then this construction can betray you and break your heart. |
|