見出し画像

プログラミングを始める。 - 関数 3(タプルなど)

上記のサイト参考に試してみます。深津某

func divmod(_ n1:Int, _ n2:Int) -> (Int, Int){
       return(n1/n2, n1%n2 )
}

の式ですが

divmod(4, 2)

とすると

(.0 2, .1 0)

ということになりました。この式の意味を図示してみます。

画像1

基本的なことの整理です。まず引数の

(_ n1:Int, _ n2:Int)

ですが、"_"アンダーバーがあります。これはワイルドカードというものです。これは何かというと、引数の型名を省略できることを表しています。例えば、上記の場合、

divmod(4, 2)

という感じで引数として"4"と"2"のみの記述となっています。このワイルドカードを付けなければ、

divmod(Int 4:Int, 2:Int)

となります。次に

-> (Int, Int)

になりますが、返り値の指定をしています。"Int"が2つあります。2つの返り値です。これが"タプル"です。

なので

divmod(4, 2)

命令すると、2つの答えが

(.0 2, .1 0)

という風に出てきるわけです。

関数は何か必要なものの定義ずけをして、便利に使い回すためのものです。自動販売機などにも例えられます。何かを入力すると、何らかの処理が行われ、結果が出てくる。ということです。

この記事が気に入ったらサポートをしてみませんか?