現在、「UnityではじめるC#」という書籍を読んで勉強中です。
引数について分かりかけてきたところで、急に突き放されてしまったページがあって、混乱しています。
##問題のコード(後半です。)
html
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class Lesson1 : MonoBehaviour 6{ 7 public string PlayerName; 8 9 // Start is called before the first frame update 10 void Start() 11 { 12 13 } 14 15 // Update is called once per frame 16 void Update() 17 { 18 string message = GetMessage(PlayerName); 19 UnityEngine.Debug.Log(message); 20 } 21 22 string GetMessage(string messenger) 23 { 24 string curtime = System.DateTime.Now.ToLongTimeString(); 25 return PlayerName + "「今は" + curtime + "」"; 26 } 27} 28
上記を実行すると、コンソールに、**名前「今は12:35:37 PM」**とでます。
##理解していること
void Updateというメソッドの中で、messageを定義して、
次の行で、それをコンソールに表示してね!としている。
(Unityのコンソール)
じゃあそのmessageに代入されたGetMessageってなに?というのが、
さらに下の行にあって、メソッドが作られている。
つまりmessageを呼び出すと、このstring GetMessageが呼び出されて、
returnによって名前と、時間を含む文字が返ってくる。
という感じだと理解しました。
##分からないこと
最後のメソッドの、string GetMassage(string messenger)のカッコ内、
string messengerですが、この意味が分かりません。
引数ということは分かるのですが、PlayerNameのように、定義もされてないし、
なんのためなのか分かりません。
なので、いらないのかな?と思って、()と空の状態で実行したところエラーになってしまいました。
全く別の名前なら上手く行ったので、何でもいいの!?とますます混乱しています。
##知りたいこと
このstring messengerがなぜ必要なのか、一体何をしているのか、もし教えていただけたら嬉しいです!
回答5件
あなたの回答
tips
プレビュー