// 1パラメータと戻り値を持ちます
FUNC greetAgain(人:文字列) - >文字列{
リターン「こんにちは、再び、」+人+「!」
}
印刷(greetAgain(人物: "アンナ"))
//打印 "こんにちは再び、アンナ!"
パラメータとして// 2.機能
FUNCデモ(STR:文字列、addPrefix:(文字列) - >文字列) - >文字列{
リターンaddPrefix(STR)
}
FUNC addPrefix(STR2:文字列) - >文字列{
リターン「接頭辞」+ STR2
}
印刷(デモ(STR: "123123"、addPrefix:addPrefix))
出力prefix123123
// 3.関数は、デフォルトの値を取ることができます
FUNC logeName(名称:文字列、電話:文字列= "123456"){
印刷(「機能のデフォルト値を持っている:」、名前、電話)
}
self.logeName(名称: "XJP")
self.logeName(名称: "XJP"、電話: "15900514624")
出力:
デフォルト値で機能:XJP 123456
デフォルト値の機能があります。XJP 15900514624
4.ネストされた関数//
これまでのところ、この章では、あなたが呼び出されるすべての関数を確認することができ、グローバル関数(株式会社フリーは機能に参加)、グローバルドメインで定義されています。あなたはとも呼ばれる、他の身体機能の関数を定義することができます ネストされた関数(ネストされた関数)。
デフォルトでは、ネストされた関数は、外の世界には見えませんが、彼らは、周辺機能(機能を囲んで)コールすることができます。周辺機能は、そのネストされた関数のいずれかを返すことができ、そのような機能は、他のドメインで使用することができます。
あなたは、ネストされた関数が通行返し上書きすることができ chooseStepFunction(backward:)
た機能を:
FUNC chooseStepFunction(下位:ブール値) - >(INT) - >のInt {
FUNC stepForward(入力:INT) - >のInt {リターン入力+ 1}
FUNC stepBackward(入力:INT) - >のInt {リターン入力 - 1}
後方に戻りますか?stepBackward:stepForward
}
VAR currentValueは= -4
聞かせてmoveNearerToZero = chooseStepFunction(後方:currentValueは> 0)
// moveNearerToZeroは現在、ネストされたstepForward()関数を参照します
しばらくcurrentValueは!= 0 {
( "\(currentValueは)...")を印刷
currentValueは= moveNearerToZero(currentValueは)
}
印刷( "ゼロ!")
// -4 ...
// -3 ...
// -2 ...
// -1 ...
// ゼロ!