Objective-C 基本講座

関数を定義する

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
独自の関数を定義し利用してみます。
講師:
06:46

字幕

このレッスンでは関数の 定義方法を学習して下さい 変数を使うと色々なパターンを 試すことができます 例えば ここに挙げたプログラムは 所持金1円の時に友達が来て 貸していたお金千円を返して貰ったので 160円のジュースをおごってあげたが その後あらためて友達に 借金を申し込まれてしまい 仕方ないから自分の今持っているお金を 半分貸し直したというものですが 変数なので最初の所持金を 1円から一万円に変えたり ジュース代を130円にしたり等 自由にできます そしてその設定での結果が得られるわけです では 所持金・貸付金・ジュース代について いくつかのパターンを連続で 試したい場合はどうしたら良いでしょう 変数を代入し直して その後に同じ処理を コピー&ペーストしてもいいのですが これではあまりに工夫がなさ過ぎます こういう時こそ関数の出番です 所持金・貸付金・ジュース代を受け取って 今回のシミュレーションを行う 関数を作りましょう oneDaySimulator と名付けました oneDaySimulator を所持金・貸付金・ ジュース代を引数として受け取る関数として 定義してみます まず関数の定義では引数の有無に関わらず 関数名の後に必ず ( ) のペアが必要です そして文字引数を貰う関数にするならば ( ) の中にその引数の情報を 引数毎にカンマで区切って定義します 今回は所持金・貸付金・ジュース代を 引数として貰うので それぞれの型と呼び名を定義します 引数の定義も変数の宣言と同じで メモリ上の区画に名前を与え その使い方を指定する作業です 変数同様 スタック上に確保されますが 変数宣言と違い こちらは関数を呼び出す側が 呼び出し前に確保するようになっています 呼び出し側が関数側の引数定義に従って 区画を確保し値を設定します この引数用に確保した区画は 関数から戻ってきた時点で 呼び出した側が別の変数や 引数用に使えるように片付けます 但し スタック上でのこのような操作は 全てコンパイラが面倒を見てくれるので 書く方は関数に引数をつけて呼び出すだけです 関数を呼ぶたびにスタック上でこのような 操作が行われているということだけ 覚えておいて下さい 片付けられた後も値はメモリ区画に そのまま残っている点にも注意して下さい 変数や引数はこのようにスタック上の メモリ区画を使いまわすので 変数を宣言したときには 以前別の変数や引数用に代入されていた 値が残っています 変数に宣言と同時に値を代入する 重要性がここにあります また 呼び出し側が書いた順に 値が並ぶ点に気をつけてください 関数側は自分が書いた順に 引数の値が並んでいるものと解釈します 例えば 呼び出し側で loan と priceOfDrink の 引数の順を逆にすると 関数側では 貸付金額をジュース代金だと解釈します 呼び出し側と関数側の引数は 値と順序で結びついているだけと いう点を覚えておいてください その為呼び出し側は変数の代わりに 数字リテラルを使い 確保した領域に直接値を 指定することもできます このように関数の引数は 呼び出し元の変数とは 切り離された関係なので 引数の名前を呼び出し元と 一致させる必要はありません 極端に言えば ABC としてもいいのですが 目的に沿った名前が適切なので 同じ名前にしました 因みに 関数定義側の引数は 仮引数と呼ばれます 関数の仮引数が定義できたら 処理を加えて定義はほぼ完了です ( ) の後に { } を続け その中に処理を記述します あと必要なものは関数が何を戻すかを 定義することです 関数の定義では関数名の前に型を書いて 関数が戻す値の型を伝えなければいけません 整数を戻すなら int 実数なら float という具合に書くのですが 今回は何も値を戻さない関数です このような場合は void という型を指定します この void は無効の型を意味し その関数が返す値は意味を持たない ということを表現します これで値を戻さない関数と解釈されます あとはこの関数定義を main 関数より前に記述することで main 関数から oneDaySimulator を 呼び出せるようになります コンパイラは関数を呼び出すときに 引数の型や数を 関数の仮引数定義から決定するので 関数の定義は呼び出しより前で なければいけません 但し 独立した記述で 関数の仮引数の型や数を知らせるなら 関数の定義は呼び出しより後もしくは 別のソースファイルにしておくことも可能です この記述を関数宣言と言い 通常関数を別ファイルにする時は ヘッダーファイルにこの関数宣言を書きます 関数宣言では処理部を書きません また末尾にセミコロンをつける必要があります スタック上で引数用区画を作る為に 利用するだけなので 仮引数名は省略可能ですが 名前も立派な情報なので 省略しない方がいいでしょう これで oneDaySimulator 関数の定義は 呼び出し側より後ろに置いても エラーになりません では OS X コマンドラインツールとして作り 実際に動くようにしたものをお見せします Xcode の画面に切り替えます このレッスンでは関数の 定義方法を学習しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

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

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

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

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