Re: [問題] 一個寫code時的小技巧名稱請教

看板MacDev作者 (殺人貓™)時間11年前 (2013/05/27 10:18), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《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)

05/27 11:45, , 1F
max = (a > b) ? (a > c) ? a : (b > c) ? b : c 錯了
05/27 11:45, 1F

05/27 11:45, , 2F
多加幾個括號會比較好讀吧
05/27 11:45, 2F

05/27 11:58, , 3F
感恩 有多學了一課
05/27 11:58, 3F

05/29 13:44, , 4F
同意 有些小地方三元運算子比if-else好用許多
05/29 13:44, 4F
文章代碼(AID): #1Hei9aPR (MacDev)
文章代碼(AID): #1Hei9aPR (MacDev)