Swift基本講座

ジェネリクスを使った関数定義

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
あらゆる型に共通した引数を使うことのできるジェネリクスという機能を使って、関数を定義する方法を説明します。
講師:
03:47

字幕

このレッスンでは Swift のジェネリクスという機能を使って 関数を作成する方法を説明します まずこちらのプログラムをご覧ください 現在 Int 型の配列と 文字列型の配列と Double 型の配列 3 種類の配列が用意されています これに対してこれらの配列の中身に どのようなものが入っているか― ということを表示するという関数を 書きたいと思った時には 例えばこのように Int 型に対して showArray という関数を用意して 引数にこの配列をもらいます この時に Int 型の配列をください というふうに書いて そしてこの中で1つ1つの要素を 取り出していって for...in 文を使って print 関数を使って print 関数は改行しないバージョンの println(プリントエルエヌ)ですから print という関数を使って このように1つ1つの item を 横につなげて書いていって 最後にprintln を 引数なしで使って改行する と― 例えばこのように書きます これは Int 型に特化した showArray という関数ですので Int 型以外受け付けません showArray (myInts) と書くと Int 型はちゃんとこうして Console Output に 出てくれるんですが― showArray (myStrings) と文字列を渡したり あるいは Double 型を渡したりすると このようにエラーが出てしまいます 当たり前といえば当たり前なんですが これを解決するためには この showArray を 2つ文用意して― String 型のための showArray 関数 それから Double 型のための showArray 関数を用意する― ということをする必要があります ですがこれちょっと見ていただきますと この3つ showArray という関数を 今定義しましたが 違うのはこの Int 型か String 型か Double 型かというところだけなので 他のところが全部一緒なのに 3つもこの関数を定義する行動を 書いてしまっているというのは ちょっともったいないと思います そこで Swift では ジェネリクスという簡単にまとめて書く方法を 提供してくれています ではそのジェネリクスを 使ってみたいと思います showArray のどれでもいいんですが どれかの showArray の 関数の名前の後ろに < > (山括弧)を書いて その中にTという型を これから使いますよということを宣言します この T という型は特に Swift の中に 存在する型ではなくて 何か1つの任意の型ですよということを 表すための記号です このキーを使って Array の型は キーの配列ですよとこうやって宣言する訳です そうすると後ろの方の この String とか Double とかの showArray を用意する必要がなく この中には Int が入ってもいいし 文字列が入ってもいいし Double が入ってもいいということで どんな型であってもこの Array 引室の 中に受け取ることが出来るということで あらゆる型に共通した showArray 関数 というものを用意することが出来ます これが Swift でジェネリクスと呼ばれる機能で このジェネリクスを使うことによって 関数を一まとめにして宣言することが 出来るようになります このレッスンでは Swift における ジェネリクスという機能を使った 関数定義について説明しました

Swift基本講座

このコースでは、iOSやOS X用のアプリをとても簡単に開発することができるプログラミング言語Swiftについて解説します。if文やfor文などの制御命令の使い方から変数や定数、配列や辞書の使い方まで基本的なSwiftプログラミングの知識をPlayground上で説明します。Swiftプログラミングの知識を効率的に学ぶのに、このコースをぜひお役立てください。

2時間59分 (35 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年09月23日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。