Re: [閒聊] 尋求比nest-if更優美的解決辦法
※ 引述《wowtiger (小虎)》之銘言:
: 兩三年前會用這個怪格式寫 XD
: (data == NULL) ? printf("Data not found."):
: (checkData(data) != 0) ? printf("Data is invaild."):
: (modifyData(data) != 0) ? printf("Data modification failed."):
: (fireDataChanged(data) != 0) ? printf("Observer call failed."):
: (saveDataIntoFile(data) != 0) ? printf("Data storage failed."):
: /* success */ ? printf("Finally succeed...");
: 不過後來發現很多人看不懂就沒用了
: code 還是簡單明瞭最好
當然善用shortcut-circuit evaluation寫邏輯句子很容易:
(data == NULL) && printf("Data not found.")
|| (checkData(data) != 0) && printf("Data is invaild.")
|| (modifyData(data) != 0) && printf("Data modification failed.")
|| (fireDataChanged(data) != 0) && printf("Observer call failed.")
|| (saveDataIntoFile(data) != 0) && printf("Data storage failed.")
|| printf("Finally succeed...");
邏輯運算一般是 && 優先權高於 ||.
使用 ? : 還可以把stage埋進去,或者把部份處理完的資料傳回來.
至於看起來是不是簡單明瞭,邏輯句基本上是最簡單明瞭的,
看不懂這種句子的人是自己基礎學科沒有學好.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.114.215
※ 編輯: yauhh 來自: 218.160.114.215 (12/07 06:31)
推
12/07 06:47, , 1F
12/07 06:47, 1F
→
12/07 06:59, , 2F
12/07 06:59, 2F
→
12/07 07:04, , 3F
12/07 07:04, 3F
→
12/07 07:05, , 4F
12/07 07:05, 4F
推
12/07 07:05, , 5F
12/07 07:05, 5F
推
12/07 07:07, , 6F
12/07 07:07, 6F
→
12/07 07:23, , 7F
12/07 07:23, 7F
→
12/07 07:24, , 8F
12/07 07:24, 8F
→
12/07 07:25, , 9F
12/07 07:25, 9F
推
12/07 07:28, , 10F
12/07 07:28, 10F
→
12/07 07:28, , 11F
12/07 07:28, 11F
推
12/07 08:43, , 12F
12/07 08:43, 12F
推
12/07 08:49, , 13F
12/07 08:49, 13F
→
12/07 09:12, , 14F
12/07 09:12, 14F
推
12/07 10:04, , 15F
12/07 10:04, 15F
→
12/07 10:05, , 16F
12/07 10:05, 16F
→
12/07 10:47, , 17F
12/07 10:47, 17F
→
12/07 11:28, , 18F
12/07 11:28, 18F
→
12/07 12:11, , 19F
12/07 12:11, 19F
→
12/07 12:14, , 20F
12/07 12:14, 20F
→
12/07 12:19, , 21F
12/07 12:19, 21F
→
12/07 12:19, , 22F
12/07 12:19, 22F
→
12/07 12:19, , 23F
12/07 12:19, 23F
→
12/07 12:20, , 24F
12/07 12:20, 24F
→
12/07 12:28, , 25F
12/07 12:28, 25F
推
12/07 12:29, , 26F
12/07 12:29, 26F
→
12/07 15:53, , 27F
12/07 15:53, 27F
→
12/07 15:54, , 28F
12/07 15:54, 28F
推
12/07 16:02, , 29F
12/07 16:02, 29F
→
12/07 16:02, , 30F
12/07 16:02, 30F
推
12/07 16:56, , 31F
12/07 16:56, 31F
→
12/07 17:06, , 32F
12/07 17:06, 32F
→
12/07 17:07, , 33F
12/07 17:07, 33F
噓
12/07 17:46, , 34F
12/07 17:46, 34F
→
12/07 17:48, , 35F
12/07 17:48, 35F
噓
12/07 17:51, , 36F
12/07 17:51, 36F
→
12/07 19:39, , 37F
12/07 19:39, 37F
推
12/07 20:43, , 38F
12/07 20:43, 38F
→
12/07 22:05, , 39F
12/07 22:05, 39F
→
12/08 10:38, , 40F
12/08 10:38, 40F
![](http://www.captainsquid.com/go/UniqueDemotivator.jpg)
→
12/08 10:39, , 41F
12/08 10:39, 41F
推
12/08 11:25, , 42F
12/08 11:25, 42F
→
12/08 12:29, , 43F
12/08 12:29, 43F
→
12/08 20:52, , 44F
12/08 20:52, 44F
推
12/09 00:19, , 45F
12/09 00:19, 45F
討論串 (同標題文章)