unity勉強日記プログラミング素人、ブルーノの自主勉強ノートです。他のプログラミングを勉強したい方の助けになれば幸いです。参照みなさんこんにちは🌞ずいぶん久しぶりの更新になりますブルーノです。夏も終わりを迎えつつあり日も短くなってきましたね。́;Д;`)さて今回は、メソッドに渡した引数、パラメータについてです。私がこれまで練習してきた引数を扱うメソッドは主に、呼び出した引数を加工するものでした。y);この時、メソッドがxやyの値を変更したとして、そのクラス内でその変更された値を使おうとしても呼び出したxやyの値を変更することはできません。例として、下の画像のようになります。これは、メソッドで普通に値を呼び出した場合、そのまま値が渡されるのではなく、そのコピーが渡されているからです。この方法は値渡しと呼ばれています。以前、値型と参照型についてやりましたが、これとは別物であることに注意が必要です。string型)値渡しと呼ぶので気をつけましょう。一方で、引数そのものを加工したい時はどうすれば良いのでしょうか。この場合は、引数の前にrefキーワードをつけて呼び出します。y);例として、さっきのプログラムに付け足して以下のようになります。この場合、呼び出し元の値を加工することで呼び出し側の値を変更することができます。一つ注意すべきことは、メソッドのパラメータリストだけでなく、呼び出し側にもrefキーワードをつけなければならないことです(上の画像でいう5行めと19行め)。これを怠ると、バグが発生してしまう恐れがあります。これで呼び出し側の値も変更できることがわかりましたが、ここで2点refキーワードについて特筆することがあります。それは・呼び出し側を初期化しておく必要がある・メソッド内で値を代入しなくてもコンパイルエラーにならないということです。前者は初期化した値に意味がなくても初期化しておかなくてはならない、後者はメソッド内で代入を忘れてしまっても気付けないというデメリットがあります。それをなくすために今度はoutキーワードというものを使います。先の例のプログラムで表すと以下のようになります。先の例ではメソッド内で代入をすることがないためこのoutキーワードは使えなかったので、中身を代入するものに変えてみました。14行めにあるようにaやbを初期化せず、そのまま使用していることです。outキーワードの特徴としてはさっきのrefキーワードと対比させて書き表すと・引数を初期化しなくても良い・メソッド内で必ず値を代入しなくてはならないということがわかります。今回はこの3つの引数の渡し方について説明したところで終わります。今年のテニスのUSオープンもすごい試合がたくさんありましたね。ナダルが優勝したのはナダルファンとしてはとても嬉しかったです。一つ目を見張ったのはフェデラーとデルポトロの試合ですね。デルポトロのサーブやらストロークやら強すぎて勝てる人はいないんじゃないかと思ってしまうくらいでした。長い間更新をサボっていましたが、またどんどん勉強成果を載せていきます(別に更新していないからって全く勉強していないわけではないですよ....?)。ヶ月)プログラミングド素人、ブルーノの勉強報告、兼好きなゲームの雑談のブログです。(4)はてなブログをはじめよう!covory10101101276さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。