台灣最大程式設計社群網站
線上人數
1861
 
會員總數:246323
討論主題:189852
歡迎您免費加入會員
討論區列表 >> iOS APP/ swift 開發 >> 有關swift 2.0 function 回傳跟 1.0的差別
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
有關swift 2.0 function 回傳跟 1.0的差別
價值 : 10 QP  點閱數:961 回應數:6
樓主

阿醜
初學者
15 120
1250 174
發送站內信

小弟目前剛學習swift 才發現最新版的是 2.0 可惜我買的書都不是最新版的 GG
在學習的過程中發現了幾個疑問,也都有找到新的寫法,但下面這一段 我不知道新的正確寫法如何寫,還請各位先進指道
<pre lang="swift">
func rectangeleArea(width:Double,height:Double) -> Double {
let area=width*height
return area
}
func triangeleArea(bottom:Double,height:Double) ->Double {
let area=0.5*bottom*height
return area
}

func getArea(type:String)->(Double,Double)->Double{
var returnFunction:(Double,Double) ->Double
switch (type) {
case "rect":
returnFunction=rectangeleArea
case "tria":
returnFunction=triangeleArea
default:
returnFunction=rectangeleArea


}
return returnFunction
}

var area:(Double,Double) = getArea("tria") //這行出錯 這行應該是舊的寫法
print((area(10,15))
area=getArea("rect")
print(area(10,15)

</pre>
標示的那行正確寫法應為什麼呢?

還請各位大大解,感謝

搜尋相關Tags的文章: [ swift20 ] , [ func ] ,
本篇文章發表於2015-11-01 17:56
1樓
最有價值解答

daisuke
檢舉此回應
不知道有沒有錯, 我昨天才碰 swift ...

你可以看一下它的錯誤訊息, 它說 Cannot convert value of type '(Double, Double) -> Double' to specified type '(Double, Double)'
這行「 var area:(Double,Double) = getArea("tria") //這行出錯 這行應該是舊的寫法 」
應該改成
var area :(Double,Double) -> Double = getArea("tria")
print(area(10,15))
area = getArea("rect")
print(area(10,15))

至於邏輯我覺得還可以在改漂亮一點, 這樣轉來轉去可能連自己都會搞混
本篇文章回覆於2015-11-03 14:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

阿醜
檢舉此回應
這個只是書本上的範例,因為2.0 在function 的使用上作了部份的調整...偏偏又買到1.2的書,偏偏還買了2本 = =||||
本篇文章回覆於2015-11-04 08:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

daisuke
檢舉此回應
我上禮拜六買了 2.0 的書, 昨天發現有一樣的內容在網路上但是有持續在更新的樣子 (不知道是不是同作者?)
你可以參考看看
https://tommy60703.gitbooks.io/swift-language-traditional-chinese/content/chapter2/04_Collection_Types.html
本篇文章回覆於2015-11-04 10:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

阿醜
檢舉此回應
能給我書名、出版社嗎?因為現在2.0的書不好找,看1.2的書好像也不太對
本篇文章回覆於2015-11-04 10:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

daisuke
檢舉此回應
書名:swift 2.0 程式設計開發指南
出版社:上奇資訊

你可以上網查查看, 在看自己需不需要
本篇文章回覆於2015-11-04 10:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

小梁
檢舉此回應
網路上那個 tommy60703 的比較舊,像集合章節就沒有介紹集合
swift 2.0 程式設計開發指南內容比較新,有介紹到集合類型
本篇文章回覆於2015-11-08 15:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.