コース: Objective-C 基本講座

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

関数から情報をもらう

関数から情報をもらう - Objective-Cのチュートリアル

コース: Objective-C 基本講座

関数から情報をもらう

このレッスンでは関数から情報を貰う 方法について学習して下さい ここにある oneDaySimulator 関数は ある日の友達とのやり取りを シミュレートしたものです 所持金 asset の状態から 友達に貸していたお金 loan が戻り priceOfDrink へのジュースをおごった後 あらためて友達に借金を申し込まれてしまい 自分の今持っているお金の 半分貸し直すというものですが もしこの関数内で計算した asset や loan を 関数を呼び出した側が使いたい場合は どうすれば良いでしょう 関数の仮引数 asset や loan の値を 関数から戻ったときに使えればいいのですが この記憶区画は oneDaySimulator から戻った時には 片付けられてしまう仕組みになっています この場合 oneDaySimulator 関数が 戻り値を返すように変更し その値を呼び出し元の変数に 記憶させる必要がありますが 関数は値を1つしか戻せません 今回のように asset や loan の2つが 必要な場合 少し工夫が必要になります その点はあとで検討するとして まずは oneDaySimulator 関数が asset を戻り値として返すように してみましょう oneDaySimulator の関数定義で 戻り値の型を void から int に変更し 処理部で return というキーワードを使って asset の値を戻します return は呼び出し元に戻れと いう命令です 戻り値を返さない関数の場合は 単独で使います 最後の処理の後には暗黙裡に return が書かれたことになるので わざわざ書く必要はありません 処理の途中で関数から 戻りたいときだけ使います 戻り値を返す関数の場合は 最後の処理として必ず使う必要があり その場合 return に続けて書かれた内容が 戻り値として返されます 変数名を書けばその変数の値を戻し リテラルを書けばその値をそのまま戻します 式を書いた場合はその式の計算結果を戻します 残る問題は loan です 色々な方法がありますが ここではグローバル変数を使ってみます 変数を関数外で宣言すると グローバル変数となります そしてグローバル変数はこれまで 関数内で宣言してきた変数と違い スタック外に記憶区画を確保します…

目次