2011-03-03 2 views
0

est là quelque chose objective-c similaire à Ruby:syntaxe Objective-C question

foobar = foo || bar 

tandis que foo est nul et le bar est 1 ... donc foobar deviendra 1 ou autre chose si foo ne serait pas nul :)

Répondre

4

Utilisez C opérateur conditionnel ternaire de:

foobar = foo != nil ? foo : bar; 

En général, il prend la forme

<var> = <condition to test> ? <true value> : <false value>; 

Comme Wevah a noté, si vous activez les extensions GNU C99 (-std=gnu99), vous pouvez également faire

foobar = foo ?: bar 
+1

Si vous avez des extensions GCC activé (par exemple, via std = gnu99), vous pouvez aussi faire: foobar = foo?: bar; – Wevah

+0

@Wevah: postez votre commentaire en guise de réponse et je vous donnerai crédit. C'est ce que je cherchais. –

+0

@bresc: C'est vraiment en train de s'étendre sur la réponse de mipadi, bien que ... – Wevah