Multi-value function return 複数の値をリターンする関数

 

 

func biggerAndSmallerNumber(from x: Int, and y: Int) -> (Int, Int) {
    if x > y {
        return (x, y)
    } else {
        return (y, x)
    }

}

Tuple creation

let a = 7;
let b = 13;
let n = biggerAndSmallerNumber(from: a, and: b)
print("\(n.0) is bigger than \(n.1).")


このコードを例にして学習していきたいと思います。
この関数では2つのInt型の引数をとって、Tupleを返しています。(Int, Int) この部分です。
ではリターンされるのがTupleなのでこの場合は二つの値が入っています、どうやって
アクセルするのでしょうか?


やり方はこのコードの場合はn.0です 0は最初の要素をさしています。.を使ってTupleはアクセスするってことですね。


簡単です。


文字列の中に変数を埋め込むには


このやり方


\(変数)でしたね、なのでこのコードの場合も


print("\(n.0) is bigger than \(n.1).") なっています。簡単です。


次はSwift でのループです。
まずはfor loop からやっていきます。


for index in 0...3{

    print("index is \(index)")

}

 

このループは0から始まり3も含みます。. は3つ入ると3も入ります。なので0、1、2、3なので4回のループ

 

3を含みたくない場合はこうします。

 

for index in 0..<3{

     ----

}

違いは.が2つになっていることと<です。

// reverse

for index in (0...4).reversed()

{

    print("hello\(index)")

}

 

これは4、3、2、1、0とリバースしています。配列を逆から何かしたいときに使えそうです。

 

次はstride とfor loop です。

 

stride って何でしょう。調べてみましょう。

 

Swiftでfor in strideを使う

1

2

3

4

for num in stride(from: 10, to: 50, by: 5) {

    print(num)

}

// 10 15 20 25 30 35 40 45

こんな感じで

  • from: 開始値
  • to: 終了値
  • by: 間隔
 

という指定ができるよ。

 

今日はここまでです。次はwhile loopとReference and value types について理解して行きます。