Swift函式的小測驗

2021-06-23 08:41:09 字數 949 閱讀 1444

總體試了下,這幾個挑戰出的還是蠻有水平的,對於理解運用swift的特性很有幫助。

我用xcode6 beta5把每個挑戰的解答部分都試了下,其中挑戰6中的原文有拼寫錯誤,而且@infix部分編譯器不能通過:

挑戰8使用了currying和偏函式(partial function),很有意思,也算是函式式程式設計特性的一大特徵。

下面是挑戰8對數字的乙個擴充套件,有運用閉包

extension array 

return result}}

var arraywithelementatindextofront: (int) -> array

var arraywithelementatindextoback: (int) -> array

}

呼叫該函式的示例:

let

list =[

1,4,

5,6,

20,50]

//--> [1, 4, 5, 6, 20, 50]

list

.arraywithelementatindextoback(2

)//--> [1, 4, 50, 6, 20, 5]

list

.arraywithelementatindextofront(4

)//--> [20, 4, 5, 6, 1, 50]

var arraywithelementatindextofront: (int) -> array

我的理解:這塊swapelementatindex:相當於返回了乙個匿名函式,而arraywithelementatindextofront:的引數即為該匿名函式的引數,即swapelementatindex:中的withindex,而其返回值同swapelementatindex:的最終返回值一樣均為array,這樣是不是清晰一些了?

python小測驗 python 小測驗複習

str 常用操作方法 1 首字母大寫,其他字母小寫 s dasda s1 s.capitalize print s1 2 居中center s asdad s1 s.center 30,print s1 3 大小寫翻轉 s1 s.swapcase print s1 4 每個單詞首字母大寫 非字母隔開...

小測驗 停車問題 題解

2017.4.17更新 注意,以前看過這個 的人現在請重新看一遍,以前的如果輸入abccba的話應該輸出none但是源程式輸出的是abc所以有問題 2017.4.17 以下是自己編的背景和題目沒有任何關係 那麼故事接上上文。卻說勇者一行人來到了牢房內,發現牆上掛著幾個模型。上面是汽車與公路的簡圖,貌...

小測驗 解密檔案 題解

因為題面複製不下來,所以咱們簡化題面。我們知道字母出現的概率 大寫字母視為小寫字母 現在給乙個加密後的文章,文章只有標點,大小寫字母和空格。加密的規則如下 0 k 26,a z編號為0 25,將字母i替換為 i k mod26,原來是大寫字母的還是大寫字母,原來是小寫字母的還是小寫字母。你需要列舉k...