Does Objective-C have an even shorter way of writing this line of code?
a = b ? b : c;
That is, a way to say, a
is equal to b
as long it is not nil
, else c
. This is like Ruby's operator ||=
Does the following work for you:
a = b ? : c;
(This syntax is a GNU extension to C, so you might have to use the GCC and not LLVM - http://gcc.gnu.org/onlinedocs/gcc-3.2.3/gcc/Conditionals.html#Conditionals).
That's as short as you can get it in Objective-C! That's a nice little test you have there.
The only other short way I could come up with is as follows (I wouldn't recommend it for readability reasons and it isn't as short as yours!):
if (b) a = b; else a = c;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With