作者Killercat (殺人貓™)
看板MacDev
標題Re: [問題] 一個寫code時的小技巧名稱請教
時間Mon May 27 10:18:10 2013
※ 引述《kiii210 (Johnny.T)》之銘言:
: 之前在找sample code常常會看到這樣的寫法
: int i;
: int count;
: i = (count==0) ? 1 : 2;
: 如此一來便能代替
: if (count==0) {
: i = 1;
: } else {
: i = 2;
: }
: 省下很多空間
: 不過我卻一直查不到這個用法的名稱叫做什麼XD
: 有人知道嗎?
: 另外這只有限Obj-C才有嗎?還是其他語言也有類似用法
: 感恩
三元運算子濫用會造成很大的閱讀上的困難 比方說
max = (a > b) ? (a > c) ? a : (b > c) ? b : c; (隨手寫的沒驗證 不過應該沒錯)
這東西誰看得懂....(可是我常常這樣寫(遮臉))
這東西主要是用在一些if-else沒辦法寫的地方 比方說
NSLog(@"%@", [a getInfo] == nil ? @"No Info!" : @"Have Info!");
這也當然不是完全不能if-else
只是用這三元運算子會簡單好懂很多
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.124.251.135
※ 編輯: Killercat 來自: 59.124.251.135 (05/27 10:18)
→ nobody1:max = (a > b) ? (a > c) ? a : (b > c) ? b : c 錯了 05/27 11:45
→ nobody1:多加幾個括號會比較好讀吧 05/27 11:45
推 kiii210:感恩 有多學了一課 05/27 11:58
推 chchwy:同意 有些小地方三元運算子比if-else好用許多 05/29 13:44