‫お帰りなさい｡
‫このビデオでは､ オートとローカル､ そしてブレイクポイントをもう少し詳しくチェックしていきます｡
‫前回のビデオでブレークポイントの使い方を説明しましたが､ 今回は､ friendsというローカルリストまたはローカル変数を作成した時点でブレークポイントを作成しました｡
‫そして､ もちろん､ 先に進んで､ さらにいくつかのブレークポイントを作成することができます｡
‫そこで､ 2つのブレークポイントを作ってみることにします｡
‫さて､ ここでブレークポイントを確認することにしましょう｡
‫この例では､ ブレークポイントが2つだけなので､ とても簡単ですよね？
‫だから､ 常に見えているのです｡
‫しかし､ 今､ 私たちがこうしたと想像してみてください｡
‫ということで､ まとめました｡
‫私たちは本当に､ より高いレベルでそれを打破したいのです｡
‫そして今､ 私たちはこの1つのブレークポイントしか見ていません｡
‫しかし､ 他のブレークポイントはどこにあるのでしょうか？
‫まあ､ できることは､ 始めることです｡
‫そして､ または5を押してデバッグを開始します｡
‫そして､ もうひとつは､ ブレークポイントをチェックすることです｡
‫Control Alt Bがショートカットで､ debug debug Windows breakpointsから､ Windows breakpointsに移動することもできます｡
‫すると､ この小さなタブが開き､ さまざまなブレイクポイントが表示されます｡
‫そこで､ プログラムのCSS10行目の文字13にブレークポイントを設け､ さらにプログラムのCSS21行目の文字13にブレークポイントを設けました｡
‫わかりました｡
‫つまり､ この2つがブレークポイントになるわけです｡
‫そして､ ブレークポイントを解除するには､ もちろんブレークポイントを押せばいいのです｡
‫そこで､ この左側で､ それをクリックすることができます｡
‫そして､ ご覧の通り､ ブレークポイントから完全に消えています｡
‫一度､ ブレークポイントを解除すれば､ あとはブレークポイントを解除するだけです｡
‫これで真ん中が白くなっているのがわかると思います｡
‫では､ このブレークポイントでやってみましょう｡
‫もっとよく見えるはずです｡
‫もう完全に赤くないのがおわかりいただけると思います｡
‫もう､ 赤で埋め尽くされることはないのです｡
‫白で埋め尽くされている｡
‫わかりました｡
‫つまり､ まだ残っているが､ 解除されているのだ｡
‫ですから､ このウィンドウでいつでもブレークポイントを解除することができます｡
‫このブレークポイントウィンドウで
‫わかりました｡
‫ですから､ 今回のケースでは､ 超短いプログラムなので､ これは役に立たないかもしれません｡
‫そうですね｡
‫あまり多くのことはしていないんです｡
‫しかし､ さまざまなファイルにブレークポイントを設定するようなプログラムでは､ この機能は非常に便利で､
‫本当に役に立ちます｡
‫わかりました｡
‫そこで次に紹介するのは､ 特に自分のバグの位置を把握するために非常に重要なもので､
‫ローカルとオーダーを使い分けることです｡
‫わかりました｡
‫まずは受注から｡
‫注文という新しいウィンドウがあるのがわかると思います｡
‫Ordersは､ 現在のブレークポイントの周辺にある変数を自動的に表示するので､ 現在関連性のある変数を表示することができます｡
‫argsという変数がありますが､ これはメインメソッドの一番上にあるものです｡
‫つまり､ このargs変数と､ 現在NULLであるfriend's変数があります｡
‫そして､ 一旦次のステップに進むので､ 踏み倒すわけです｡
‫今ならわかる｡
‫友達もいるし､ パーティーの仲間もいる｡
‫このように､ ブレークポイントの周辺にある､ 現在いる場所に近い変数を自動的に表示してくれるのです｡
‫わかりました｡
‫ここで私は友人と一緒にいるのですが､ そこに7つのエントリーがあるのがおわかりいただけると思います｡
‫そして､ この時点ではヌルいですが､ パーティーフレンドがいます｡
‫しかし､ 一歩踏み出せば､ 今､ パーティーの仲間が注目されているのがわかります｡
‫わかりました｡
‫変数countと変数party friendsがあり､ これには追加情報があります｡
‫この時点でパーティーフレンドのカウントが0になっているのがわかります｡
‫種類はこちらで確認できますので､ 詳しく知りたい方は､ システムのコレクションリストです｡
‫そして､ このパーティーフレンドの数も0です｡
‫わかりました｡
‫だから伯爵は､ こっちのこれとこっちのこれです｡
‫そして､ カウントが0になったパーティーフレンドです｡
‫わかりました｡
‫というのが一般的な考え方というか､ 実はパーティーフレンドなんですね｡
‫そして､ カウントもあります｡
‫つまり､ 2つの異なるものなのです｡
‫ご覧のように､ パーティ・フレンドの数を示す「パーティ・フレンド・カウント」と､
‫現在フレンドがいない､ あるいはエントリーがないリストである「パーティ・フレンド・リスト」があります｡
‫わかりました｡
‫それが私たちの自動車です｡
‫そして､ 今現在持っている変数を見るときに､ 超便利なんです｡
‫また､ これらを修正することも可能です｡
‫わかりました｡
‫だから､ ここの値を修正することができる｡
‫先に5を入力し､ 一度別の値に変えてからプログラムがどのように動作するかをテストすることができます｡
‫見てわかるように､ 5と変更したことで､ 例えば5という値を追加したり入力したりすると､
‫プログラムがどのように動作するかがわかりましたね｡
‫わかりました｡
‫というのがひとつ｡
‫もうひとつは､ 地元の人たちを紹介したい｡
‫でも､ その前に､ まずは時計をお見せしたいと思います｡
‫では､ ウォッチに行きましょう､ ウォッチはこれを開きます｡
‫先程と似たような感じのメモを一つ｡
‫ちなみに今は､ 下のほうに視聴するアイテムを追加できるようになっていますよ｡
‫Autosはそのままなので､ ここの一番下に新しいタブができただけです｡
‫そして､ こちらがウォッチ1｡
‫それは､ まあ､ ブレイクポイントが場所をとってしまったので､ 重要なことだからです｡
‫しかし､ 私たちにできることは､ いつでもそれらをすべて引き出して､ この横に置いて､ 比較できるようにすることです｡
‫では､ 友達を追加したいと思いますので､ パーティーの友達をリストに追加するとします｡
‫わかりました｡
‫パーティーフレンドが入力され､ パーティーフレンド数が0であることが確認できます｡
‫そうすると､ 常に今いる場所が大事になってくるんです｡
‫で､ この時､ 私はこっちなので､ Current Friendを見て､ エントリーさせてもらうことにしました｡
‫ご覧の通り､ エラー名が表示されています｡
‫Current Friendは現在の文脈では存在しないので､ その時点ではまだ存在しないが､ 後々存在するようになる｡
‫では､ フレンドも見てみましょう｡ フレンドもまた､ 現在の文脈では存在しないものだからです｡
‫それはなぜでしょうか？
‫まあ､ 今はご覧の通り､ 矢印はゲットパーティーの仲間の中にありますから｡
‫このメソッドの中に入っているわけです｡
‫さて､ 変数全体のスコープは､ このメソッドとこの友人の変数､ そしてこのパーティーの友人の変数の中にあります｡
‫こちらでは販売しておりません｡
‫つまり､ ここで見ているのはパーティーの友達ではないのです｡
‫わかりました｡
‫なぜなら､ 私たちが見ているパーティーの仲間は､ ここにいるこの人たちだからです｡
‫それはなぜでしょうか？
‫まあ､ スコープのせいなんですけどね｡
‫わかりました｡
‫スコープは非常に重要な概念で､ あるメソッド内で作成された変数はそのメソッド内でしか利用できないからです｡
‫だから､ get party friendsの中で､ mainメソッドのfriendsやparty friendを使うことはできないんです､
‫違うメソッドだからですね｡
‫グローバルに作ったら｡
‫ですから､ もしこれらをクラスのフィールドとして一番上に作成すれば､ すべてのメソッドで利用できるようになります｡
‫わかりました｡
‫だから､ ここではそれがとても重要なのです｡
‫別の動画でイントゥスコープを見たんだったかな｡
‫しかし､ ここでは､ 得られる値を直接見ることができるので､ 非常にわかりやすいのです｡
‫わかりました｡
‫では､ プログラムを進めて､ レッツゴー｡
‫続けて
‫とりあえず､ よし､ 続けよう｡
‫現在のフレンドは無効になっているため､ パーティーのフレンドと現在のフレンドが表示されます｡
‫そこで､ 次のステップに進むと､ 現在の友人がミケーレであることがわかります｡
‫このプログラムでは､ これらの値を表示すると同時に､ 右側にあるすべての値から最も近い値､ つまり現在いるブレークポイントに最も近い値を常に表示しています｡
‫わかりました｡
‫だから､ 一度飛び出しても､ また飛び出すんです｡
‫そして､ 友達のところにいるのがわかるので､ 何度も飛び起きることになりました｡
‫でも今はゲットパーティーの仲間から飛び出して､ 今度はパーティー・フランシスになっているので､ またメインのメソッドに入っているんです｡
‫今､ 私の現在の友人はカルロスで､ 私の友人は2の数なので､ 私のリストには2人の友人しかいないのです｡
‫今のは変な話ですが､ 私のリストには7人の友達がいると思ったからです｡
‫というのも､ 私たちがやっていることは大きな間違いで､
‫とても初歩的なミスなのです｡
‫それで､ それから､ その前に､ もうひとつのウィンドウを確認したいと思います｡
‫そして､ ご覧のように窓がたくさんあります｡
‫だから､ デバッグのことをすごく勉強できるんです｡
‫ただ､ いろいろなウィンドウをチェックして､ プログラムがどの行にあるのか､ 状態はどうなっているのかを見ていただければと思います｡
‫そして､ メモリなども確認することができます｡
‫でも､ 今大切なのは現地の人たちです｡
‫そこで､ 現地の人を紹介したいと思います｡
‫Locals は､ 現在見ているスコープで､ ローカルコンテキストで利用可能な変数を表示します｡
‫つまり､ 今言ったように､ スコープとは､ 私たちがいるメソッドのことです｡
‫では､ もう一度始めましょう｡
‫デバッグを始めましょう｡
‫ちなみに､ 一度デバッグを開始したら､ このボタン､ 再起動ボタンを押すか､ コントロールシフトを押して､
‫デバッグを再開することもできます｡
‫F 5 現在の状況では､ それが重要なローカルウィンドウなんですね｡
‫現在はオットーではなく､ ローカルのほうにいます｡
‫現在､ 現地の人を見ているところです｡
‫つまり､ このメインのアーク､ ここにある文字列､ この文字列のリストまたは配列があります｡
‫そして､ 仲間もいるし､ パーティーの仲間もいる｡
‫つまり､ これらはこのメインメソッド内で利用可能な変数で､ そのために現在表示されているのは､
‫この2つの値なのです｡
‫ステップオーバーして､ 友達が7人いることがわかります｡ パーティーの友達を見ると､
‫カウントは0ですが､ カウント変数自体は4で､ リストがあります｡
‫だから､ 今はもう友達ではなく､ リストを見ているんです｡
‫では､ リストとは何でしょうか？
‫さて､ listは渡されたこの変数です｡
‫そこで､ このリストが渡され､ このリストのカウントが7であることがわかると思います｡
‫わかりました｡
‫その中身は？
‫まあ､ いろいろな名前がありますからね｡
‫わかりました｡
‫それが､ ローカルとオートとブレークポイントだったんですね｡
‫次のビデオでは､ 間違った値をチェックしているため､ まだバグがあることを修正します｡
‫しかし同時に､ 私たちのプログラムで抱えている他の問題をどう解決していくかも見ていくつもりです｡
‫わかりました｡
‫それでは､ 次のビデオでお会いしましょう｡