※ 引述《ledia (下班後才下棋)》之銘言:
: → yauhh:而你只是站在C語言去想:if絕對不傳回值...這樣想就錯了. 09/29 13:50
: → yauhh:void function也沒有傳回值,你怎麼就說它是函數了?? 09/29 13:51
: → yauhh:另外,你看另一個很普遍的iif函數,它跟if一模一樣,為什麼它是 09/29 13:52
: → yauhh:函數了? 09/29 13:52
: → yoco315:if 傳回值? 你腦袋有水喔? 09/29 13:54
: 推 zxvc:打個岔,板主要我們不要推文超過三行。 09/29 13:56
yoco閣下,你講話都這麼隨便來嗎?
好,if不傳回值是不是? 反正現在講的是數學和語言,我們換個語言來看: Erlang.
test(A) ->
if
A > 0 -> 1;
A < 0 -> -1;
_ -> 0
end.
這就是 if 敘述會傳回值.
還有,你這樣罵人,我可以申訴了.
再補 Lisp:
(if nil
(list 1 2 "foo")
(list 3 4 "bar"))
這不也是跑一個真偽測試,然後取二個值的其中一個?
if 真的可以傳回值,只看語言要不要做而已.