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 について理解して行きます。