1 00:00:00,000 --> 00:00:11,050 2 00:00:11,050 --> 00:00:13,351 >> ロブ·ボウデン:これは より快適なセクション、 3 00:00:13,351 --> 00:00:16,309 それはどうかという意味ではありません あなたがより快適じゃないように感じる 4 00:00:16,309 --> 00:00:18,420 あなたはここで物事を学ぶことはありません。 5 00:00:18,420 --> 00:00:20,600 それでは始めましょう。 6 00:00:20,600 --> 00:00:22,819 あなたはスライドを持っていますか 右の物事に入る。 7 00:00:22,819 --> 00:00:24,360 私は約ちょうど今それを取ることになっている? 8 00:00:24,360 --> 00:00:25,680 9 00:00:25,680 --> 00:00:26,450 ノートパソコンを切り替える。 10 00:00:26,450 --> 00:00:30,470 11 00:00:30,470 --> 00:00:32,950 >> アリソン:あなたはしたくない 、ロブを自己紹介? 12 00:00:32,950 --> 00:00:34,090 >> ロブ·ボウデン:ああ、私はロブだ。 13 00:00:34,090 --> 00:00:35,182 14 00:00:35,182 --> 00:00:37,470 これは私の第五年のTF-るCS50です。 15 00:00:37,470 --> 00:00:38,760 16 00:00:38,760 --> 00:00:39,650 >> GABRIEL:私はガブリエルです。 17 00:00:39,650 --> 00:00:41,610 私はCS50のヘッドTFだ。 18 00:00:41,610 --> 00:00:44,009 私は、去年と今年のTFだった。 19 00:00:44,009 --> 00:00:46,675 アリソン:私はアリソンだし、この 2年目のTF-INGのCS50です。 20 00:00:46,675 --> 00:00:48,510 21 00:00:48,510 --> 00:00:50,825 >> ロブ·ボウデン:すべての権利なので、 左側のこの事、 22 00:00:50,825 --> 00:00:52,250 うまくいけばあなたが前にそれを見てきました。 23 00:00:52,250 --> 00:00:54,112 そうでない場合、あなたのため 自分自身でそれをダウンロードし、 24 00:00:54,112 --> 00:00:55,570 あなたが講義でそれを見ているは​​ずです。 25 00:00:55,570 --> 00:00:56,590 26 00:00:56,590 --> 00:01:01,320 だから、これはCS50アプライアンスです、と彼 多少それについての説明をしたの 27 00:01:01,320 --> 00:01:01,880 講義中。 28 00:01:01,880 --> 00:01:06,890 しかし、基本的にはただあなたです オペレーティングを実行している 29 00:01:06,890 --> 00:01:10,550 お使いのオペレーティングシステム内で システムは私たちはあなたを与えることができるように 30 00:01:10,550 --> 00:01:12,540 必要とせずにプログラム ああ、心配することはこれです 31 00:01:12,540 --> 00:01:15,989 両方のWindows上で仕事に行く そして、あなたのMacの場合、またはいくつかの 32 00:01:15,989 --> 00:01:17,280 既にLinuxで、Linuxを使用している。 33 00:01:17,280 --> 00:01:18,532 34 00:01:18,532 --> 00:01:20,240 それはちょうどことになっている 共通演奏も 35 00:01:20,240 --> 00:01:23,010 フィールドそう、誰もが持っている まったく同じ環境。 36 00:01:23,010 --> 00:01:25,344 >> だから、あなたがいない場合 すでにこれをダウンロードし、 37 00:01:25,344 --> 00:01:28,510 あなたがしているので、あなたはそれをダウンロードする必要があります 問題セットのためにそれが必要になるだろ。 38 00:01:28,510 --> 00:01:32,335 そして、それは2ギガバイトです それはしばらく時間がかかるかもしれないので、ダウンロードしてください。 39 00:01:32,335 --> 00:01:33,780 ハーバード大学ではそれが速く行くよ。 40 00:01:33,780 --> 00:01:35,870 41 00:01:35,870 --> 00:01:37,440 だから、CS50アプライアンス。 42 00:01:37,440 --> 00:01:41,980 >> さて冒頭で、私たちはするつもりだ コマンドラインのちょうど束の話 43 00:01:41,980 --> 00:01:46,880 もの、となるようにすることによって、私が働いて意味 こっちにこの小さな環境において。 44 00:01:46,880 --> 00:01:53,230 そしてすべてのものに気づく 私は今ちょうどここ言う 45 00:01:53,230 --> 00:01:56,900 あなたが内部のなら仕事に行くされている アプライアンスの内部の端子、 46 00:01:56,900 --> 00:02:00,790 またはあなたがの内にある場合 geditのターミナルウィンドウ 47 00:02:00,790 --> 00:02:02,090 アプライアンスの内部。 48 00:02:02,090 --> 00:02:03,770 だから、それらの環境は同一である。 49 00:02:03,770 --> 00:02:04,940 50 00:02:04,940 --> 00:02:07,270 >> しかし、私は第三のルートを行くつもりです。 51 00:02:07,270 --> 00:02:12,200 そして、ここでこれをダウンに気付く 右ここで少しのIPアドレス。 52 00:02:12,200 --> 00:02:15,940 だから、あなたがする必要はありません これを行うが、このIP 53 00:02:15,940 --> 00:02:19,700 今I--場合を除きaddress-- それはこの事によってブロックだ。 54 00:02:19,700 --> 00:02:22,790 55 00:02:22,790 --> 00:02:27,000 [OK]を、その結果、IPアドレス ターミナルの過 56 00:02:27,000 --> 00:02:31,090 オーバーhere--ので、このターミナル ここに私のMac内の端末です。 57 00:02:31,090 --> 00:02:34,540 これは、現在では決してない まったくアプライアンスに関連付けられている。 58 00:02:34,540 --> 00:02:39,360 あなたがWindowsを使っているなら、あなたはしている 何かをダウンロードする必要があるとして 59 00:02:39,360 --> 00:02:44,430 具体的には、このため、特に 人々は、P-U-T-T-Y、パテを使用する傾向がある。 60 00:02:44,430 --> 00:02:50,700 >> それでは、私がやろうとしてたんだけどタイプです SSHとそのIPアドレス。 61 00:02:50,700 --> 00:02:54,030 さて、そのIPアドレスにjharvard。 62 00:02:54,030 --> 00:03:00,150 192.168.24.220そう。 63 00:03:00,150 --> 00:03:02,127 この恐ろしいメッセージは、それを無視。 64 00:03:02,127 --> 00:03:02,710 ちょうどyesと入力。 65 00:03:02,710 --> 00:03:04,550 66 00:03:04,550 --> 00:03:06,030 これはボックス内のCS50である。 67 00:03:06,030 --> 00:03:07,460 それはあなたのパスワードを要求。 68 00:03:07,460 --> 00:03:11,910 >> だからどこでこれらのコンテキストの場で それは[聞こえない]、パスワードの入力が求められます。 69 00:03:11,910 --> 00:03:15,670 私たちが質問場所をたくさん持っている それは実際に入力していないと言います。 70 00:03:15,670 --> 00:03:20,011 それはあなたの文字が表示されない パスワード入力時に、どちらかといえば、 71 00:03:20,011 --> 00:03:23,010 セキュリティ機能のために、もし理由 誰かがあなたの肩越しに見ている 72 00:03:23,010 --> 00:03:25,870 彼らはスタースターを参照してください その後スタースター、彼ら 73 00:03:25,870 --> 00:03:28,640 あなたのパスワードことを知っている 4文字です。 74 00:03:28,640 --> 00:03:32,660 だから、アイデアは、それが要求されますです あなたのパスワード、タイプのあなた。 75 00:03:32,660 --> 00:03:34,490 それが示すことはないだろう あなたの文字、 76 00:03:34,490 --> 00:03:36,090 それは実際にそれらを受け入れることだ。 77 00:03:36,090 --> 00:03:39,210 この場合には、いつでも使用 これまでパスワードプロンプトを参照してください 78 00:03:39,210 --> 00:03:42,280 アプライアンスを扱う、 パスワードは真っ赤になるだろう。 79 00:03:42,280 --> 00:03:43,270 だから、深紅。 80 00:03:43,270 --> 00:03:44,730 81 00:03:44,730 --> 00:03:50,550 >> そして今、ここで、この内部 私のMacにある窓、 82 00:03:50,550 --> 00:03:54,120 私は基本的に抱えています 同じ正確なビュー 83 00:03:54,120 --> 00:03:57,040 端末の内部など アプライアンス内。 84 00:03:57,040 --> 00:03:58,470 だから、これを実行する必要はありません。 85 00:03:58,470 --> 00:04:01,300 あなたは、あなたはすべてを行うことができます アプライアンスの内部で欲しい。 86 00:04:01,300 --> 00:04:05,140 私はほとんど実際に行うことはありません アプライアンスで何か。 87 00:04:05,140 --> 00:04:09,440 私はほとんど常に、今それを最小限に抑え、 私は、アプライアンスにSSHを働いています。 88 00:04:09,440 --> 00:04:11,480 89 00:04:11,480 --> 00:04:14,180 >> どちらかと言えば、あなたの場合 遅いコンピュータを持って、 90 00:04:14,180 --> 00:04:15,820 あなたが違いに気づくかもしれません。 91 00:04:15,820 --> 00:04:18,839 私が好むので、私はこれを行う このターミナルウィンドウ。 92 00:04:18,839 --> 00:04:20,881 それはのようないくつかの機能を備えています 私は、ウィンドウを分割することができ、 93 00:04:20,881 --> 00:04:22,672 そして今私は中SSHを使ってログインできる アプライアンスを介し。 94 00:04:22,672 --> 00:04:24,105 私は2つのSSHは一度起こっているのだ。 95 00:04:24,105 --> 00:04:28,030 96 00:04:28,030 --> 00:04:32,250 お使いのコンピュータは、特に遅い場合 あなたが、アプライアンスで作業している 97 00:04:32,250 --> 00:04:35,200 そしてあなたはこれが実現 本当にラグが多い、何でも。 98 00:04:35,200 --> 00:04:38,220 はるかに速くなる傾向にある あなたがでSSH-EDなら。 99 00:04:38,220 --> 00:04:40,960 しかし、そうでなければ、あなたはどちらの方法で作業することができます。 100 00:04:40,960 --> 00:04:42,388 >> 聴衆:SSHは、どういう意味ですか? 101 00:04:42,388 --> 00:04:43,820 102 00:04:43,820 --> 00:04:47,479 >> ロブ·ボウデン:セキュアシェル、 そのような何か? 103 00:04:47,479 --> 00:04:48,270 SSHは、何を意味するのでしょうか? 104 00:04:48,270 --> 00:04:54,214 105 00:04:54,214 --> 00:04:55,130 GABRIEL:セキュアシェル。 106 00:04:55,130 --> 00:04:56,463 アリソン:それはちょうどセキュアシェルです。 107 00:04:56,463 --> 00:04:57,720 ロブ·ボウデン:セキュアシェル。 108 00:04:57,720 --> 00:05:03,700 それはだyou--プロトコルだ セキュアなプロトコル、暗号化されたそう。 109 00:05:03,700 --> 00:05:06,850 人々がネットワークをスヌープすることはできませんし、 あなたは何にも言っているかを見る 110 00:05:06,850 --> 00:05:08,120 あなたはへのssh-EDだ。 111 00:05:08,120 --> 00:05:12,900 そして実際には、昔で CS50の日なので、2009年に 112 00:05:12,900 --> 00:05:19,300 私は一年生、方法だったとき あなたは、CS50問題セットに働いた 113 00:05:19,300 --> 00:05:22,490 あなたはいくつかのサーバにSSH-EDだった 、我々はあなたのアクセスを与えた 114 00:05:22,490 --> 00:05:23,497 あなたがそこに働いた。 115 00:05:23,497 --> 00:05:25,330 だから、これを持っていなかった グラフィカルなアプライアンス。 116 00:05:25,330 --> 00:05:26,160 あなたがgeditのを持っていませんでした。 117 00:05:26,160 --> 00:05:28,930 あなたはこれらすべてのものを持っていなかったこと あなたが視覚的にポイントしてクリックすることができる。 118 00:05:28,930 --> 00:05:30,346 あなたは、このインタフェースで作業しなければならなかった。 119 00:05:30,346 --> 00:05:31,580 120 00:05:31,580 --> 00:05:33,716 私は、このインターフェースで作業することを好む。 121 00:05:33,716 --> 00:05:36,090 私たちが行っているもののそう一部 今はオーバーに行くべき 122 00:05:36,090 --> 00:05:39,560 の束である あなたがすべきことを命令 123 00:05:39,560 --> 00:05:42,095 などに精通して取得するために開始 あなたは、コースに沿って行く。 124 00:05:42,095 --> 00:05:43,190 125 00:05:43,190 --> 00:05:45,790 そして正直に、あなたに一度 それは、彼らに慣れる 126 00:05:45,790 --> 00:05:48,220 そんなに速いのです このような環境で働く 127 00:05:48,220 --> 00:05:53,690 それはファインダーで作業するよりも、 物事をドラッグしてクリックする。 128 00:05:53,690 --> 00:05:55,340 129 00:05:55,340 --> 00:05:57,210 >> そこでここではある。 130 00:05:57,210 --> 00:06:01,779 今、私はちょうど、SSH-EDで、など あなたlocation--デフォルト 131 00:06:01,779 --> 00:06:04,820 クラス内でこれらのコマンドのいくつかを見て、 しかし、我々は再びそれらのすべてをオーバー行くよ。 132 00:06:04,820 --> 00:06:08,060 我々はしているデフォルトの場所 中には、ホームディレクトリです。 133 00:06:08,060 --> 00:06:11,520 そして、ちょうどディレクトリ、 フォルダの別の単語。 134 00:06:11,520 --> 00:06:13,310 だから我々は、ホームディレクトリにいる。 135 00:06:13,310 --> 00:06:15,889 lsコマンドを入力し、ファイルをリスト このディレクトリにある。 136 00:06:15,889 --> 00:06:17,430 明らかに私は、以前blah.cを作成しました。 137 00:06:17,430 --> 00:06:19,120 138 00:06:19,120 --> 00:06:20,472 だから我々はデスクトップディレクトリを持っている。 139 00:06:20,472 --> 00:06:21,930 あなたは、構文の強調表示に気づく? 140 00:06:21,930 --> 00:06:27,400 141 00:06:27,400 --> 00:06:32,900 水色のハイライトを示し ディレクトリとストレート白 142 00:06:32,900 --> 00:06:34,380 単なるファイルを示します。 143 00:06:34,380 --> 00:06:35,410 144 00:06:35,410 --> 00:06:37,690 だからがあるように起こっている あなたが見る、いくつかの他の色。 145 00:06:37,690 --> 00:06:41,240 実行ファイルはおそらく起こっている 緑色またはそのような何かであると。 146 00:06:41,240 --> 00:06:44,820 [OK]を、私たちはホームディレクトリにある。 147 00:06:44,820 --> 00:06:48,970 >> 今、私は別のに行きたい場合は、 ディレクトリ、CDは私が欲しいコマンドです。 148 00:06:48,970 --> 00:06:52,720 だから、ディレクトリを変更し、 ディレクトリの名前を渡します 149 00:06:52,720 --> 00:06:54,020 あなたがに行きたいという。 150 00:06:54,020 --> 00:06:55,780 そこでここでは、4つのオプションがあります。 151 00:06:55,780 --> 00:07:03,397 私はダウンロードに行くことができ、そして今我々が見る ここでは、この挿入句を更新しました 152 00:07:03,397 --> 00:07:04,480 と言って私は〜/ダウンロードにいるよ。 153 00:07:04,480 --> 00:07:05,620 154 00:07:05,620 --> 00:07:06,800 >> だから、チルダは何ですか? 155 00:07:06,800 --> 00:07:10,640 それはのための速記です あなたのホームディレクトリ。 156 00:07:10,640 --> 00:07:15,260 だから、あなたは、ほとんどすべてがしようとしている あなたのホームディレクトリに関しても、 157 00:07:15,260 --> 00:07:20,620 とpwdはちょうどコマンドです 私は、その年に一回使用 158 00:07:20,620 --> 00:07:22,420 ただ、現在のディレクトリを印刷します。 159 00:07:22,420 --> 00:07:25,730 だからあなたはここでそれを参照してください。 〜/ダウンロードが本当に解決し 160 00:07:25,730 --> 00:07:26,896 /ホーム/ jharvard /ダウンロードへ。 161 00:07:26,896 --> 00:07:29,320 162 00:07:29,320 --> 00:07:32,230 SO /ホーム/ jharvardは私のホーム·ディレクトリです。 163 00:07:32,230 --> 00:07:33,700 164 00:07:33,700 --> 00:07:39,400 >> だから我々はCDには、ドットドットことができます。 165 00:07:39,400 --> 00:07:47,800 今、ドットドットは、その特別なディレクトリである 常に一つのディレクトリまでを指します。 166 00:07:47,800 --> 00:07:51,730 だから私は〜/ダウンロード、その後のcdドットにいる場合は、 ドットはチルダに私を持ってしようとしている。 167 00:07:51,730 --> 00:07:52,950 168 00:07:52,950 --> 00:07:55,490 我々は、CD、ドットドットはどう思いますか 今に私を持参しようとしている? 169 00:07:55,490 --> 00:07:58,740 170 00:07:58,740 --> 00:08:00,570 これは、/自宅に私を持っていきます。 171 00:08:00,570 --> 00:08:04,450 だから、印刷作業ディレクトリによって【数 私は今は/ home / jharvardにいるよ。 172 00:08:04,450 --> 00:08:06,060 173 00:08:06,060 --> 00:08:08,820 それとは一つのディレクトリまで、 今では家庭/ここに述べています。 174 00:08:08,820 --> 00:08:12,330 175 00:08:12,330 --> 00:08:17,180 >> 今のcdドットドット。 176 00:08:17,180 --> 00:08:20,910 今私は、ルートディレクトリにいるよ、 そして、あなたは再びそれを行うことはできません。 177 00:08:20,910 --> 00:08:23,340 あなただけに滞在します 永遠にルートディレクトリ。 178 00:08:23,340 --> 00:08:26,700 ルートディレクトリは全体の束を持って あなたがに見たい場合には、物事、 179 00:08:26,700 --> 00:08:27,410 次のことができます。 180 00:08:27,410 --> 00:08:29,700 例えば、私は行けば ビンに、それが含まれています 181 00:08:29,700 --> 00:08:35,789 たとえばls、すべてのこれらのバイナリ、 そしてCD、およびそれらのもののすべて。 182 00:08:35,789 --> 00:08:38,630 だから、これらのコマンドを実行する必要があり システムのどこかに存在して、 183 00:08:38,630 --> 00:08:40,820 そしてそれは/ binディレクトリにあります。 184 00:08:40,820 --> 00:08:44,530 しかし、あなたが行うほぼすべてがある あなたのホームディレクトリからになるだろう。 185 00:08:44,530 --> 00:08:49,490 とCDいかなる引数なし、 あなたがする必要はありません、〜CDを言うことができます。 186 00:08:49,490 --> 00:08:51,810 CDはあなたを持参しようとしている バックあなたのホームディレクトリに移動します。 187 00:08:51,810 --> 00:08:53,170 188 00:08:53,170 --> 00:08:54,230 >> 最後1。 189 00:08:54,230 --> 00:09:00,200 CD - バックにあなたを持参しようとしている あなたがしていた最後のディレクトリ。 190 00:09:00,200 --> 00:09:04,080 だから、僕は、続けて2回cd'dので、私の 最後のディレクトリがホームディレクトリだった。 191 00:09:04,080 --> 00:09:11,520 私はビンを大幅に削減するために行く場合は、今 のアップ、ユーザーへ行きましょう。 192 00:09:11,520 --> 00:09:12,550 193 00:09:12,550 --> 00:09:13,280 ユーザーのシェア。 194 00:09:13,280 --> 00:09:14,840 195 00:09:14,840 --> 00:09:15,940 それでは、ユーザのシェアに行こう。 196 00:09:15,940 --> 00:09:17,140 今、私は、ユーザーのシェアになりましたよ。 197 00:09:17,140 --> 00:09:19,320 CD - バックビンで。 198 00:09:19,320 --> 00:09:22,980 だから、これは特に便利取得する あなたがhave--、いつそれがトグルします。 199 00:09:22,980 --> 00:09:25,660 したがって、ユーザーのシェア、バックビン、共有ビン。 200 00:09:25,660 --> 00:09:27,250 >> だから、これは便利な取得します。 201 00:09:27,250 --> 00:09:33,150 あなたは、自分が多くなるかもしれません 多くの、多くのネストされたディレクトリ。 202 00:09:33,150 --> 00:09:37,370 そして、あなたは何かをしたい 上位ディレクトリで実際に素早く。 203 00:09:37,370 --> 00:09:40,330 あなたがそのディレクトリに移動し、作る そのような変更とか、 204 00:09:40,330 --> 00:09:42,400 そして今、あなたは行き​​たい バックあなたがいた場所に。 205 00:09:42,400 --> 00:09:43,660 CD - 。 206 00:09:43,660 --> 00:09:47,320 私はいつもイライラしてる 私は行くことが起こるとき、 207 00:09:47,320 --> 00:09:49,630 そのディレクトリへのI で作業をやってみたかった。 208 00:09:49,630 --> 00:09:52,670 私が行ったとき、私はいつもイライラする その代わりに、ワンステップの二つのステップで、 209 00:09:52,670 --> 00:09:55,715 それがそのCDを意味するので - 起こっている その中間の場所に持参する 210 00:09:55,715 --> 00:09:57,010 代わりに私が行きたい場所の。 211 00:09:57,010 --> 00:09:59,350 212 00:09:59,350 --> 00:10:01,450 >> だから我々は、すべてのリストファイルを参照してください。 213 00:10:01,450 --> 00:10:03,300 我々はこれまでに周りを取得する方法を知っている。 214 00:10:03,300 --> 00:10:09,900 だから今のはファイルの編集について話しましょう​​。 215 00:10:09,900 --> 00:10:18,790 だから、このコースでは、あなたがほとんどだ いつものgeditを使用することを期待した。 216 00:10:18,790 --> 00:10:24,410 あなたがしたい場合は、次のステップを取ることができます コマンドラインテキストを学習を開始 217 00:10:24,410 --> 00:10:25,240 エディタ。 218 00:10:25,240 --> 00:10:27,560 だから、さまざまなオプションが存在する。 219 00:10:27,560 --> 00:10:31,760 >> そしておそらくあるものは あなたに関係することになるだろう、 220 00:10:31,760 --> 00:10:35,340 我々はナノは、Vim、Emacsを持っていると。 221 00:10:35,340 --> 00:10:40,196 だから、ナノは初心者です コマンドラインのテキストエディタ。 222 00:10:40,196 --> 00:10:42,985 だから、ナノのオン行こう blah.c私が以前に作成した。 223 00:10:42,985 --> 00:10:44,030 224 00:10:44,030 --> 00:10:46,480 それはちょうど、この標準のCファイルです。 225 00:10:46,480 --> 00:10:51,540 そして、あなたはものの全体の束を参照してください 画面の下に起こって、 226 00:10:51,540 --> 00:10:54,100 どうやらblah.c このCコードが含まれています。 227 00:10:54,100 --> 00:10:55,420 228 00:10:55,420 --> 00:11:00,330 >> だから、この特定のエディタで、 何それはbottom--で言っている 229 00:11:00,330 --> 00:11:06,290 今、このキャレット記号、 私たちはこの^ G、^ X、^ Oを参照してください。 230 00:11:06,290 --> 00:11:10,310 だから、ほとんどすべてで あなたが見る、コンテキスト、 231 00:11:10,310 --> 00:11:13,530 あなたはでそのキャレット記号が表示されることがあります スタックオーバーフローに関するオンライン他の場所、 232 00:11:13,530 --> 00:11:14,450 そのような何か。 233 00:11:14,450 --> 00:11:16,970 それはほとんど常に制御することをいう。 234 00:11:16,970 --> 00:11:21,590 だから私はやりたい終了します 制御X.コントロールXは、終了します。 235 00:11:21,590 --> 00:11:22,750 236 00:11:22,750 --> 00:11:26,855 と私は私の矢印を使用することができます キーは周りに移動します。 237 00:11:26,855 --> 00:11:28,010 238 00:11:28,010 --> 00:11:31,015 私が指摘し、容易にクリックすることはできません注意してください。 239 00:11:31,015 --> 00:11:33,000 240 00:11:33,000 --> 00:11:35,010 あなたの矢印を使用して必要 キーは周りに移動します。 241 00:11:35,010 --> 00:11:36,950 設定があるかもしれません ポイントしてクリックします。 242 00:11:36,950 --> 00:11:40,000 >> しかし、ここでいくつかの変更をしてみましょう。 243 00:11:40,000 --> 00:11:42,100 今、コントロールXは、出口に行く。 244 00:11:42,100 --> 00:11:44,120 これは、修正されたバッファのセーブ言おうとしています。 245 00:11:44,120 --> 00:11:47,900 今イエスのプロンプト、Y、N無しのため。 246 00:11:47,900 --> 00:11:49,900 キャンセルのためのコントロールC。 247 00:11:49,900 --> 00:11:50,780 私はちょうどイエスと言うだろう。 248 00:11:50,780 --> 00:11:51,709 書き込むためのファイル名。 249 00:11:51,709 --> 00:11:53,500 デフォルトでは、ファイルである それが既にある。 250 00:11:53,500 --> 00:11:54,230 Enterキーを押します。 251 00:11:54,230 --> 00:11:54,740 [OK]をクリックします。 252 00:11:54,740 --> 00:11:58,580 今、私はちょうど、そのファイルを編集した それを保存して、それが変更される。 253 00:11:58,580 --> 00:11:59,770 254 00:11:59,770 --> 00:12:03,000 >> だから、ナノが最も簡単です テキストエディタはに慣れる。 255 00:12:03,000 --> 00:12:05,520 代替案はvimとEmacsのです。 256 00:12:05,520 --> 00:12:11,250 それらは、より高いレベルのテキストエディタです それは非常に急な学習曲線を持っている。 257 00:12:11,250 --> 00:12:13,740 だから、私の個人的な好みは、Vimのです。 258 00:12:13,740 --> 00:12:17,175 そして、それはさまざまなオプションがある。 259 00:12:17,175 --> 00:12:18,210 260 00:12:18,210 --> 00:12:24,070 そして、あなたは慣れれ それには、次のように決してないだろう 261 00:12:24,070 --> 00:12:26,900 他のどのに行きたい あなたのためのテキストエディタだけ 262 00:12:26,900 --> 00:12:29,590 非常に多くのものを持っている これらの中であなたが利用可能な、 263 00:12:29,590 --> 00:12:31,690 それは本当に取る 学ぶのに長い時間。 264 00:12:31,690 --> 00:12:36,000 だから、多分あなたはちょうど強制したい 自分は今、それに慣れるために、 265 00:12:36,000 --> 00:12:38,130 私はそれが価値があると言うでしょう。 266 00:12:38,130 --> 00:12:39,660 しかし、それは難しいです。 267 00:12:39,660 --> 00:12:41,220 >> その後はEmacs。 268 00:12:41,220 --> 00:12:44,940 私はいつもので、Emacsで苦戦 私は絶対に何もしない方法を知っている。 269 00:12:44,940 --> 00:12:47,755 どうやらEmacsはデフォルトではありません アプライアンスにインストール。 270 00:12:47,755 --> 00:12:49,210 271 00:12:49,210 --> 00:12:51,720 我々は、おそらくそれを追加します デフォルトのインストールなど。 272 00:12:51,720 --> 00:12:59,620 273 00:12:59,620 --> 00:13:02,390 次のいずれかを学ぶたら VimのかEmacsの、あります 274 00:13:02,390 --> 00:13:04,810 への説得力のある理由ない これまで、他を学ぶ 275 00:13:04,810 --> 00:13:07,570 それは完全に異なるスタイルだ。 276 00:13:07,570 --> 00:13:10,460 [OKだから、テキストフ​​ァイルを編集することです。 277 00:13:10,460 --> 00:13:13,374 >> 読者:あなたが立ち往生していた場合 Vimの中で、今、どのように行うwe-- 278 00:13:13,374 --> 00:13:18,840 279 00:13:18,840 --> 00:13:20,800 >> ロブ·ボウデン:あり Vimの中で複数のモード、 280 00:13:20,800 --> 00:13:23,770 全体がある Vimを学ぶためのチュートリアル。 281 00:13:23,770 --> 00:13:27,390 ですから、あることが起こる場合は、 順番に挿入モードで 282 00:13:27,390 --> 00:13:29,930 そのあなたができる、テキストを入力する さまざまな方法でそれを入力し、 283 00:13:29,930 --> 00:13:31,610 しかし、私はあなたが挿入モードに入る方法です。 284 00:13:31,610 --> 00:13:34,780 Inまたは特別なから抜け出す あなたがしているモードは、単にエスケープ。 285 00:13:34,780 --> 00:13:37,640 そして、あなたはちょうど得るために脱出のbash ネストされたモードで、あなたの中から取り出します。 286 00:13:37,640 --> 00:13:40,360 ちょうど[OK]を、今私は戻って、通常モードでね。 287 00:13:40,360 --> 00:13:43,790 >> だから、通常モードで、コロン。 288 00:13:43,790 --> 00:13:45,160 あなたはそれが下部に表示されます参照してください。 289 00:13:45,160 --> 00:13:46,240 その後、Q。 290 00:13:46,240 --> 00:13:52,600 あなたが変更を加えたのであれば、qは終了します、 これI--は、私が変更を加えた? 291 00:13:52,600 --> 00:13:54,180 私は明らかに変更を加えました。 292 00:13:54,180 --> 00:13:57,264 あなたが変更を加えたのであれば、それはよ あなたは感嘆符を置くことができると言う。 293 00:13:57,264 --> 00:13:58,430 私は強打それを呼び出すつもりです。 294 00:13:58,430 --> 00:14:02,040 だから、あなただけに禁止を置くことができます 何もせずに終了し、 295 00:14:02,040 --> 00:14:04,520 または結腸WQは保存して終了します。 296 00:14:04,520 --> 00:14:06,580 wの一般的なようにすることは書いてある。 297 00:14:06,580 --> 00:14:08,300 だから、ファイルを書き込む。 298 00:14:08,300 --> 00:14:09,810 私が書いて、終了することができます。 299 00:14:09,810 --> 00:14:13,606 それとも、ただ持っている可能性が QXスラム、q個の強打だけ 300 00:14:13,606 --> 00:14:16,230 かかわらず、そこから抜け出すために あなたが行った変更の。 301 00:14:16,230 --> 00:14:21,310 302 00:14:21,310 --> 00:14:28,940 >> すべての権利なので、今してみましょう go--我々はファイルを作成することができます。 303 00:14:28,940 --> 00:14:30,890 ファイルの削除を開始してみましょう。 304 00:14:30,890 --> 00:14:35,450 そして、私はちょうど1にスローされます 迅速な新しいコマンド、タッチ。 305 00:14:35,450 --> 00:14:38,200 だから、fooのをタッチします。 306 00:14:38,200 --> 00:14:39,340 バーをタッチします。 307 00:14:39,340 --> 00:14:40,220 バズをタッチ。 308 00:14:40,220 --> 00:14:42,810 私LSは、今、私たちは表示された場合 それらのファイルが存在していること。 309 00:14:42,810 --> 00:14:44,315 彼らは完全に空だ。 310 00:14:44,315 --> 00:14:47,178 だから、タッチだけで簡単です。 1の方法で、[聞こえない]。 311 00:14:47,178 --> 00:14:50,850 312 00:14:50,850 --> 00:14:54,640 技術的にはちょうど状態への2つ、 それは、それはタイムスタンプが更新されます。 313 00:14:54,640 --> 00:14:58,470 だから、あなたが作成するすべてのファイルがあります それに関連付けられたタイムスタンプ。 314 00:14:58,470 --> 00:15:01,330 だから、バズが作成された 午後四時21分で9月14日。 315 00:15:01,330 --> 00:15:02,570 316 00:15:02,570 --> 00:15:06,670 ので、もしそれが、今や16:22です 私は再びバズに触れ、私たち 317 00:15:06,670 --> 00:15:11,420 バズが最もあったことを参照してください。 最近午後04時22で修正された。 318 00:15:11,420 --> 00:15:17,680 しかし、そうでなければ私はほとんど決して ファイルのタイムスタンプを見てください。 319 00:15:17,680 --> 00:15:20,490 タッチので、ここで私はちょうど使用しています それはいくつかの簡単なファイルを作成します。 320 00:15:20,490 --> 00:15:21,620 321 00:15:21,620 --> 00:15:27,400 >> すべての権利なので、今RMがある 私たちがここで気にコマンド。 322 00:15:27,400 --> 00:15:28,665 そして、我々はブーイングたRMができます。 323 00:15:28,665 --> 00:15:31,000 定期的な空のファイルブーイングを削除言う。 324 00:15:31,000 --> 00:15:34,070 そして、我々は、Yを入力することができ、今では削除します。 325 00:15:34,070 --> 00:15:34,850 RMのバズ。 326 00:15:34,850 --> 00:15:35,910 327 00:15:35,910 --> 00:15:38,620 定期的な空のファイルを削除します バズなしの型のn。 328 00:15:38,620 --> 00:15:40,060 今では削除されません。 329 00:15:40,060 --> 00:15:41,240 だから、バー、バズはまだ存在しています。 330 00:15:41,240 --> 00:15:42,232 fooがなくなっています。 331 00:15:42,232 --> 00:15:43,148 ガブリエル:話しておいてください。 332 00:15:43,148 --> 00:15:43,970 333 00:15:43,970 --> 00:15:44,720 ロブ·ボウデン:厳選。 334 00:15:44,720 --> 00:15:45,800 335 00:15:45,800 --> 00:15:50,370 とても迷惑メッセージ ここでは、定期的なempty--を削除 336 00:15:50,370 --> 00:15:52,390 あなたがダウンしてそこに何をしている? 337 00:15:52,390 --> 00:15:54,030 定期的な空のファイルを削除します。 338 00:15:54,030 --> 00:15:58,840 339 00:15:58,840 --> 00:16:01,610 だから我々はしたくない場合は、 そのメッセージに悩まさ、 340 00:16:01,610 --> 00:16:05,340 我々は、この-fで投げることができる フラグ、だから力だ。 341 00:16:05,340 --> 00:16:11,330 私はrm -fにした場合、今、それはするつもりはない あなたはこのファイルを削除したいと言う。 342 00:16:11,330 --> 00:16:12,040 それはちょうどそれを行うだろう。 343 00:16:12,040 --> 00:16:13,720 およびls、私はもうそこにバーが表示されていない。 344 00:16:13,720 --> 00:16:14,810 345 00:16:14,810 --> 00:16:18,021 >> 今では、潜在的にある 危険なコマンド。 346 00:16:18,021 --> 00:16:19,020 それはあまりにも悪くはない傾向にある。 347 00:16:19,020 --> 00:16:22,240 私たちは、どのように第二に戻ってくる それは本当に危険得ることができます。 348 00:16:22,240 --> 00:16:28,740 とのいくつかの一時ディレクトリを作成してみましょう。 349 00:16:28,740 --> 00:16:30,880 MKDIR、別のコマンド。 350 00:16:30,880 --> 00:16:34,880 だから、MKDIRはコマンドです それはディレクトリを作成する。 351 00:16:34,880 --> 00:16:40,650 そして今、lsコマンドによって私たちは、この素敵な光を見る 青はtempディレクトリを強調した。 352 00:16:40,650 --> 00:16:42,295 私は一時にcdできます。 353 00:16:42,295 --> 00:16:44,590 と私はfooというMKDIRできます。 354 00:16:44,590 --> 00:16:46,330 fooのにcd。は、mkdirバー。 355 00:16:46,330 --> 00:16:46,860 バーにcd。 356 00:16:46,860 --> 00:16:49,400 357 00:16:49,400 --> 00:16:54,300 >> だから我々は、我々は簡単に取得することができます参照してください。 いくつかの非常に深いネスティングへ。 358 00:16:54,300 --> 00:16:56,385 今どのように私は、ディレクトリを削除するには? 359 00:16:56,385 --> 00:16:57,020 360 00:16:57,020 --> 00:16:57,520 rmdirを。 361 00:16:57,520 --> 00:16:59,030 362 00:16:59,030 --> 00:17:03,540 だから私はちょうどまっすぐRMしようとすると、 私たちは通常のファイルでやったように、 363 00:17:03,540 --> 00:17:06,420 RMバーがしようとしている バーを削除することはできませんと言う。 364 00:17:06,420 --> 00:17:07,569 それがディレクトリである。 365 00:17:07,569 --> 00:17:10,619 のための特別なコマンドがあります 種類の、ディレクトリを削除。 366 00:17:10,619 --> 00:17:12,900 だから、rmdirをバー。 367 00:17:12,900 --> 00:17:13,710 今、バーがなくなっています。 368 00:17:13,710 --> 00:17:14,980 369 00:17:14,980 --> 00:17:22,680 >> [OK]を、ので、rmdirを、私は使用しないでほとんどなかった。 370 00:17:22,680 --> 00:17:32,220 今してみましょうbeing--理由 ここで通常のファイルバーを作る。 371 00:17:32,220 --> 00:17:34,780 だから、rmdirをブーイング。 372 00:17:34,780 --> 00:17:35,760 rmdirを。 373 00:17:35,760 --> 00:17:36,900 fooの削除に失敗しました。 374 00:17:36,900 --> 00:17:38,420 ディレクトリが空でない。 375 00:17:38,420 --> 00:17:43,420 だから、上のdirを削除使用することはできません それで物事を持つディレクトリ。 376 00:17:43,420 --> 00:17:44,830 >> だから、いくつかのオプションがあります。 377 00:17:44,830 --> 00:17:49,780 あなたは、そのディレクトリに移動し削除することができます すべてが手作業で、次に出てくる 378 00:17:49,780 --> 00:17:51,759 とディレクトリをするrmdir。 379 00:17:51,759 --> 00:17:53,050 それは明らかに迷惑な音が鳴ります。 380 00:17:53,050 --> 00:17:55,000 何千ものは何があるかどう そこにあるファイルの? 381 00:17:55,000 --> 00:17:58,119 さて、あなたは* rm汎用性があります。 382 00:17:58,119 --> 00:17:59,410 私たちは、第二に*について話します。 383 00:17:59,410 --> 00:18:00,870 それは基本的にすべてのことを意味します。 384 00:18:00,870 --> 00:18:02,030 385 00:18:02,030 --> 00:18:05,470 しかし、いっそのこと、そうRM -r。 386 00:18:05,470 --> 00:18:10,220 だから、RM -r--たくさんの中 コンテキストは、-rは、再帰的な意味 387 00:18:10,220 --> 00:18:13,810 私たちは何の話でしょうどの 数週間で再帰的な手段。 388 00:18:13,810 --> 00:18:18,630 しかし、それは基本的にトラバース意味 このディレクトリ全体 389 00:18:18,630 --> 00:18:20,190 そしてすべてを削除。 390 00:18:20,190 --> 00:18:24,420 >> だから、rmは-r fooが言おうとしている fooディレクトリに降り? 391 00:18:24,420 --> 00:18:25,210 はい。 392 00:18:25,210 --> 00:18:26,800 定期的な空のファイルfoo /バーを削除しますか? 393 00:18:26,800 --> 00:18:27,880 394 00:18:27,880 --> 00:18:28,540 はい。 395 00:18:28,540 --> 00:18:29,760 ディレクトリfooを削除しますか? 396 00:18:29,760 --> 00:18:30,260 はい。 397 00:18:30,260 --> 00:18:31,470 398 00:18:31,470 --> 00:18:35,020 だから今fooとすべてのもの その中に削除されました。 399 00:18:35,020 --> 00:18:42,370 >> 今では特に厄介な得ることができます when-- 3に触れ、2に触れ、の1に触れてみましょう。 400 00:18:42,370 --> 00:18:44,400 ファイルの全体の束を持っている可能性があります。 401 00:18:44,400 --> 00:18:49,060 私が望んでいたなら、私は作成することができます ここで数千のファイル。 402 00:18:49,060 --> 00:18:53,340 とRM -r fooが起こっている かなりいらいらすることができます。 403 00:18:53,340 --> 00:18:55,374 はい、はい、はい、はい、はい、はい。 404 00:18:55,374 --> 00:18:57,540 より多くのファイルを持つあなた すぐに何度も参照 405 00:18:57,540 --> 00:18:58,581 私はyesと入力しなければならないでしょう。 406 00:18:58,581 --> 00:19:02,265 さて、私たちはどれだけ私たちができる前に見た はい、-fを入力する必要を取り除く。 407 00:19:02,265 --> 00:19:03,330 408 00:19:03,330 --> 00:19:07,020 ですからます。mkdir fooのでcd fooのタッチ1 2 3。 409 00:19:07,020 --> 00:19:08,380 410 00:19:08,380 --> 00:19:17,190 [OK]を、そのようにます。rm -rf fooがしようとしている 盲目的に完全にはfooを削除します。 411 00:19:17,190 --> 00:19:17,960 いいえプロンプトん。 412 00:19:17,960 --> 00:19:18,650 いいえ何でもありません。 413 00:19:18,650 --> 00:19:20,040 fooがなくなっています。 414 00:19:20,040 --> 00:19:23,830 >> だから私はこれを使用する傾向がある すべての時間を命令。 415 00:19:23,830 --> 00:19:25,120 416 00:19:25,120 --> 00:19:27,830 つまり、それは、前記 非常に危険なコマンド、 417 00:19:27,830 --> 00:19:33,240 私のような何かを行う場合には理由 これは、それがプロンプトを表示しません。 418 00:19:33,240 --> 00:19:34,730 それが消えてしまいます。 419 00:19:34,730 --> 00:19:40,140 そしてそれはかなり頻繁に発生し、 さらに高いレベルのCSのコースで。 420 00:19:40,140 --> 00:19:42,070 時々、我々が表示されます 何か誰か 421 00:19:42,070 --> 00:19:48,360 私は誤って私たちは、rm RF-ED私の家は述べています ディレクトリと私のPセットのすべてがなくなっています。 422 00:19:48,360 --> 00:19:52,422 そして、それは壊滅的だが、 しかし、誰ゴミ箱はありません。 423 00:19:52,422 --> 00:19:54,380 全く何もありませんだ あなたが取得するために。 424 00:19:54,380 --> 00:19:55,330 それはちょうど逝ってしまった。 425 00:19:55,330 --> 00:19:56,529 426 00:19:56,529 --> 00:19:58,320 さらに悪いことになる のrm -rf /のようなもの。 427 00:19:58,320 --> 00:19:59,432 428 00:19:59,432 --> 00:20:01,140 だから我々はちょうど議論 そのルートディレクトリ。 429 00:20:01,140 --> 00:20:03,095 これは、すべてを保持している お使いのシステム上のファイル。 430 00:20:03,095 --> 00:20:04,120 431 00:20:04,120 --> 00:20:07,380 物事はかなり厄介な取得する傾向がある あなたはlsのようなものを削除すると、 432 00:20:07,380 --> 00:20:10,280 そしてCD、およびそれらのすべて。 433 00:20:10,280 --> 00:20:15,467 >> 読者:違いは何ですか rmは、高周波、およびRm *と 434 00:20:15,467 --> 00:20:16,300 ロブ·ボウデン:だからRM * - 435 00:20:16,300 --> 00:20:17,700 436 00:20:17,700 --> 00:20:22,300 >> アリソン:質問は何でした rmは、高周波、およびRm *との差。 437 00:20:22,300 --> 00:20:23,750 438 00:20:23,750 --> 00:20:25,950 >> ロブ·ボウデン:だからRM *。 439 00:20:25,950 --> 00:20:31,910 すべての一般的な手段でスター このディレクトリの内容。 440 00:20:31,910 --> 00:20:33,540 441 00:20:33,540 --> 00:20:35,540 他を考えるしようとしてい スターを示すの方法。 442 00:20:35,540 --> 00:20:38,280 443 00:20:38,280 --> 00:20:44,780 さて、一般的には実際に主演 任意のパターンに一致することを意味します。 444 00:20:44,780 --> 00:20:54,930 だから私はDOG1と呼ばれるファイルを持っている場合、 DOG2に触れ、CAT1に触れ、CAT2をタッチします。 445 00:20:54,930 --> 00:20:56,050 446 00:20:56,050 --> 00:21:02,110 だから、lsコマンド* 1 CAT1を印刷しようとしていると DOG1、その星を充填することができるので、 447 00:21:02,110 --> 00:21:06,270 一つはそこにあることが必要with--で、 しかし星は、猫や犬のいずれかになります。 448 00:21:06,270 --> 00:21:07,247 それはワイルドカードです。 449 00:21:07,247 --> 00:21:08,580 それは私が探している単語です。 450 00:21:08,580 --> 00:21:09,120 ワイルドカード。 451 00:21:09,120 --> 00:21:10,180 452 00:21:10,180 --> 00:21:13,960 または私は*犬をLSができ、 私は、DOG2をDOG1を見守っています。 453 00:21:13,960 --> 00:21:16,870 だから、それらのファイルをリストする それは、その特定のパターンに一致する。 454 00:21:16,870 --> 00:21:18,150 あなたはこの方法ではlsを使用することができます。 455 00:21:18,150 --> 00:21:19,350 456 00:21:19,350 --> 00:21:22,020 >> Lsは*スターは何もマッチします。 457 00:21:22,020 --> 00:21:25,710 だから、すべてを印刷するために起こっている このディレクトリの内容 458 00:21:25,710 --> 00:21:27,290 それらのすべてが一致するからである。 459 00:21:27,290 --> 00:21:30,130 それは何も印刷するつもりはない 上位レベルのディレクトリで。 460 00:21:30,130 --> 00:21:38,680 私はサブディレクトリがある場合、fooの、そして 触れる1 2 3--ので、今のrm *スターなら、 461 00:21:38,680 --> 00:21:41,450 CAT1、CAT2、DOG1、DOG2を削除します。 462 00:21:41,450 --> 00:21:42,340 fooのを削除することはできません。 463 00:21:42,340 --> 00:21:43,090 それがディレクトリである。 464 00:21:43,090 --> 00:21:43,920 465 00:21:43,920 --> 00:21:50,340 >> だから星はすべてに展開 ディレクトリ内のファイル。 466 00:21:50,340 --> 00:21:55,210 だから、技術的には、rm *言っているようなものである RMのCAT1、CAT2、DOG1、DOG2、fooという。 467 00:21:55,210 --> 00:22:03,630 ます。rm -rf一方、技術的に星がだろう 私たちが望むものを達成するが、RM -rf-- 468 00:22:03,630 --> 00:22:06,090 私はこの外に行けば ディレクトリ、ます。rm -rf一時、 469 00:22:06,090 --> 00:22:08,890 それが一時に入るようになるだろうと 再帰的にすべてのものを削除します。 470 00:22:08,890 --> 00:22:11,260 471 00:22:11,260 --> 00:22:21,060 >> だから、星はその点で分離されている そうこの事by--理解されている 472 00:22:21,060 --> 00:22:25,090 私が実行していることを、この事 それはコマンドのために私を促している 473 00:22:25,090 --> 00:22:28,770 その後実行し、やって 彼らは、私は自分の殻これを呼び出す。 474 00:22:28,770 --> 00:22:31,930 そしてそう、このシェルは、プログラム自体である。 475 00:22:31,930 --> 00:22:35,010 そして私は、私を望んでいた場合は、 では/ bin / bashのを実行することができます。 476 00:22:35,010 --> 00:22:36,930 シェルはbashを呼ばれています。 477 00:22:36,930 --> 00:22:39,340 そして今、我々は何かに気づく 少し変更されました、 478 00:22:39,340 --> 00:22:42,200 それがために私の設定ですので、 シェルは多少異なります。 479 00:22:42,200 --> 00:22:45,415 >> しかし、今、私は技術的に実行しているよ 私の元のシェル内殻、 480 00:22:45,415 --> 00:22:49,570 そして私は今、そのシェルを終了し、することができます 私は戻って私のトップレベルのシェルに思います。 481 00:22:49,570 --> 00:22:55,240 というのが目的 それは星をis--。 482 00:22:55,240 --> 00:22:59,020 だから星は何かである bashのことで理解していた。 483 00:22:59,020 --> 00:23:04,260 ですからます。rm -rf、-rfフラグである ちょうどRMによって理解した。 484 00:23:04,260 --> 00:23:06,380 それはそのときに知っている あなた-rfを渡す 485 00:23:06,380 --> 00:23:09,520 それが再帰的に削除したい 確認メッセージを表示せずにすべてのファイル。 486 00:23:09,520 --> 00:23:13,960 スターは何かが理解されている bashのによってそのあなたがRM *を言うとき、 487 00:23:13,960 --> 00:23:16,890 bashが言おうとしていません ちょっとのrm *、スターを削除します。 488 00:23:16,890 --> 00:23:21,010 bashは* RM言おうとしている CAT1、CAT2、DOG1、DOG2を削除します。 489 00:23:21,010 --> 00:23:24,305 それが自動的に展開になるだろう ディレクトリ内のファイルがすべて表示されます。 490 00:23:24,305 --> 00:23:29,100 491 00:23:29,100 --> 00:23:33,140 >> 同様にチルダは、別である bashが理解シンボル。 492 00:23:33,140 --> 00:23:37,130 あなたがCD〜、bashの膨張を言うとき あなたのホームディレクトリへの。 493 00:23:37,130 --> 00:23:38,910 494 00:23:38,910 --> 00:23:40,210 他の質問、これまで? 495 00:23:40,210 --> 00:23:42,760 496 00:23:42,760 --> 00:23:46,060 [OK]を私たちは迅速に起こって開始するつもりだ。 497 00:23:46,060 --> 00:23:47,700 498 00:23:47,700 --> 00:23:48,545 >> タブ補完。 499 00:23:48,545 --> 00:23:49,670 ちょうどそこにそれをスローする。 500 00:23:49,670 --> 00:23:51,530 多くの人はしないでください これが存在して実現しています。 501 00:23:51,530 --> 00:23:55,060 だから私は、CDダウを入力した場合、私は ダウンロードへ行きたい。 502 00:23:55,060 --> 00:23:56,700 私はnloadsを入力する必要はありません。 503 00:23:56,700 --> 00:23:57,960 504 00:23:57,960 --> 00:24:00,770 私はちょうどタブを打つことができます。 505 00:24:00,770 --> 00:24:03,794 だから、あることを認識 ダウはその接頭辞です 506 00:24:03,794 --> 00:24:05,710 何も一致していません このディレクトリにある他、 507 00:24:05,710 --> 00:24:07,520 それはあなたのためにそれを完了します。 508 00:24:07,520 --> 00:24:08,610 今、私は入力することができます。 509 00:24:08,610 --> 00:24:10,110 >> 私はまた、再帰的にそれを行う。 510 00:24:10,110 --> 00:24:11,205 そうします。mkdir fooという。 511 00:24:11,205 --> 00:24:12,480 512 00:24:12,480 --> 00:24:13,300 さんがfooに行こう。 513 00:24:13,300 --> 00:24:14,830 は、mkdirバー。 514 00:24:14,830 --> 00:24:17,345 だから私の自宅に戻って ディレクトリには、私がダウンロードを見ることができます。 515 00:24:17,345 --> 00:24:19,040 516 00:24:19,040 --> 00:24:21,860 ここでもう一度タブを押す、 自動的にfooを埋めるつもり。 517 00:24:21,860 --> 00:24:22,880 それはディレクトリのみです。 518 00:24:22,880 --> 00:24:25,340 自動的に、タブをもう一度打つ バーを埋めるつもり。 519 00:24:25,340 --> 00:24:26,798 だから今、私は(〜ダウンロード/ fooの/バー)にいるよ。 520 00:24:26,798 --> 00:24:27,310 521 00:24:27,310 --> 00:24:31,692 >> したがって、このタブ補完、 たびに私は、営業時間に着いた 522 00:24:31,692 --> 00:24:33,400 と私は以上の立っている 誰かの肩、 523 00:24:33,400 --> 00:24:40,470 そして彼らは、RMをつもりだ D-O-W-N-L-O-A-D-S、私が死んだ。 524 00:24:40,470 --> 00:24:41,990 ちょうどタブ、タブ、タブ、タブ。 525 00:24:41,990 --> 00:24:44,550 526 00:24:44,550 --> 00:24:45,630 だから、間違いなくタブを使用していました。 527 00:24:45,630 --> 00:24:47,890 528 00:24:47,890 --> 00:24:49,840 同様にアップ 多くの人々は、ダウン 529 00:24:49,840 --> 00:24:51,930 ただそれはに起こった 上下にヒットしたことがない。 530 00:24:51,930 --> 00:24:54,870 それは、以前通って行くよ コマンド、あなただけの何かを実行した場合ので、 531 00:24:54,870 --> 00:24:58,300 そして、あなたは再びそれを実行したい、 あなたはそれを得るまでちょうどホールドアップ。 532 00:24:58,300 --> 00:24:59,870 533 00:24:59,870 --> 00:25:00,370 [OK]をクリックします。 534 00:25:00,370 --> 00:25:01,460 535 00:25:01,460 --> 00:25:03,585 >> 非常に速く、いくつかの他のもの。 536 00:25:03,585 --> 00:25:04,800 537 00:25:04,800 --> 00:25:05,930 それでは一時に戻りましょう。 538 00:25:05,930 --> 00:25:06,976 539 00:25:06,976 --> 00:25:08,125 それではいくつかのファイルを作成してみましょう。 540 00:25:08,125 --> 00:25:10,480 541 00:25:10,480 --> 00:25:15,215 だからここでは、私はちょうどよ いくつかの単語をリストする予定。 542 00:25:15,215 --> 00:25:18,460 543 00:25:18,460 --> 00:25:21,035 イヌ、ネコ、ニャー。 544 00:25:21,035 --> 00:25:23,940 545 00:25:23,940 --> 00:25:26,040 それでは犬、魚をやってみましょう。 546 00:25:26,040 --> 00:25:27,500 547 00:25:27,500 --> 00:25:32,320 だから今担当者は非常にある そのあなたの役に立つコマンド 548 00:25:32,320 --> 00:25:37,820 全体で検索するために使用 特定のテキスト用のファイル、 549 00:25:37,820 --> 00:25:40,910 そして技術的にあなたが本当に行うことができます それのための複雑な式は一致する。 550 00:25:40,910 --> 00:25:44,830 >> だからここに、私はgrepする場合には、どのような 私が検索したいのですか? 551 00:25:44,830 --> 00:25:49,130 それでは私は猫を探しているとしましょう​​、と 私はこれらすべてのファイルを検索したい。 552 00:25:49,130 --> 00:25:50,650 だから私は、これらのファイルのすべてをどのように行うのですか? 553 00:25:50,650 --> 00:25:51,900 星。 554 00:25:51,900 --> 00:25:54,939 だから、ファイル1で、私は猫を持っています。 555 00:25:54,939 --> 00:25:56,980 私はおそらく持っている可能性が それは何か良いと呼ばれる、 556 00:25:56,980 --> 00:25:59,063 それは次のようになりますので、 行番号か何か。 557 00:25:59,063 --> 00:26:01,590 しかし、ファイル1で、私は猫とのラインを持っている。 558 00:26:01,590 --> 00:26:04,160 ファイル2で、私は猫とのラインを持っている。 559 00:26:04,160 --> 00:26:07,280 だから今私は、ファイル1の内部を見ることができますし、 を参照してください。そうそう、そのファイルが猫を持っていた。 560 00:26:07,280 --> 00:26:10,210 予告ファイルは3つが一致していなかった 猫がそこにないので。 561 00:26:10,210 --> 00:26:13,882 私はニャーをgrepすることができます。 562 00:26:13,882 --> 00:26:14,840 唯一の2はニャーを持っています。 563 00:26:14,840 --> 00:26:16,120 564 00:26:16,120 --> 00:26:20,640 >> だから、これは組み合わせることができ、 再び、-rと、その 565 00:26:20,640 --> 00:26:23,580 私は前に言ったように 頻繁に再帰的なことを意味します。 566 00:26:23,580 --> 00:26:29,800 だから私はここまで来ることができ、grepの-r 任意のインスタンスのための編集しましょう​​of-- 567 00:26:29,800 --> 00:26:32,010 ちょうどそこに猫を投げるためにこの1。 568 00:26:32,010 --> 00:26:38,800 の任意のインスタンスのためにそのようにはgrep -r このディレクトリ全体猫。 569 00:26:38,800 --> 00:26:41,600 そして、それは再帰的になります サブディレクトリを検索します。 570 00:26:41,600 --> 00:26:43,940 だからバズでは、猫があります。 571 00:26:43,940 --> 00:26:45,570 一時/ 2では、猫があります。 572 00:26:45,570 --> 00:26:47,960 とTEMP / 1に猫があります。 573 00:26:47,960 --> 00:26:50,045 だから、ファイル内での検索です。 574 00:26:50,045 --> 00:26:51,250 575 00:26:51,250 --> 00:26:55,090 >> 今、あなたはまた、検索を使用することができます。 576 00:26:55,090 --> 00:26:59,640 だから具体的には約です見つける 指定された名前を持つファイルを探して。 577 00:26:59,640 --> 00:27:02,490 それでは、いくつかの詳細を作成してみましょう。 578 00:27:02,490 --> 00:27:03,660 それではダウンロードへ行こう。 579 00:27:03,660 --> 00:27:04,680 580 00:27:04,680 --> 00:27:05,380 DOG1タッチします。 581 00:27:05,380 --> 00:27:06,840 582 00:27:06,840 --> 00:27:07,770 CAT2をタッチ。 583 00:27:07,770 --> 00:27:09,290 584 00:27:09,290 --> 00:27:10,760 cat_dogをタッチ。 585 00:27:10,760 --> 00:27:14,550 586 00:27:14,550 --> 00:27:15,975 catcatをタッチ。 587 00:27:15,975 --> 00:27:18,270 588 00:27:18,270 --> 00:27:23,810 >> だから私はすべてを見つけたい 名前の犬を持つファイル。 589 00:27:23,810 --> 00:27:28,060 だから見つけ、最も長いため 時間は、私が思い出したことはありません 590 00:27:28,060 --> 00:27:33,760 最終的に私まで、どのように働いて見つける それはとても明確に何かをお読みください。 591 00:27:33,760 --> 00:27:35,784 だから、自動的に再帰見つける。 592 00:27:35,784 --> 00:27:36,950 あなたは-rを渡す必要はありません。 593 00:27:36,950 --> 00:27:38,090 594 00:27:38,090 --> 00:27:39,110 だから、ドットを見つける。 595 00:27:39,110 --> 00:27:40,750 私たちは、まだドットについて話していない。 596 00:27:40,750 --> 00:27:44,800 常にドットドットのに対し、 1ディレクトリまでをいう。 597 00:27:44,800 --> 00:27:46,960 ドットは、常にカレントディレクトリを意味します。 598 00:27:46,960 --> 00:27:51,390 だから私は中-rドットたRMができ 同じように私は* -rf rm汎用することができます。 599 00:27:51,390 --> 00:27:53,140 最終的に彼ら 同じことを実現。 600 00:27:53,140 --> 00:27:56,040 ます。rm -rfドットは削除しようとしている 全体カレントディレクトリ。 601 00:27:56,040 --> 00:27:57,440 602 00:27:57,440 --> 00:27:59,680 >> [OK]を、私はそこに行うにはしたくないもの。 603 00:27:59,680 --> 00:28:01,490 604 00:28:01,490 --> 00:28:04,320 しかし、ドットを見つける。 605 00:28:04,320 --> 00:28:07,920 だから、再帰的に電流を検索する ディレクトリ、そして今ではすべて 606 00:28:07,920 --> 00:28:14,125 この後に、そのあなたのフラグの集まりです リターンから物事を除外するために使用します。 607 00:28:14,125 --> 00:28:17,250 だから見つけるドットはすべてを返し、それを カレントディレクトリから見つけることができます。 608 00:28:17,250 --> 00:28:19,700 それらは、すべてのファイルです 再帰的に検索する。 609 00:28:19,700 --> 00:28:21,250 私たちは、第二のものの一部が表示されます。 610 00:28:21,250 --> 00:28:23,150 611 00:28:23,150 --> 00:28:27,140 >> しかし、場合にあなたは私がどのように疑問に思っている そのため、非常に少なくともコマンドK、 612 00:28:27,140 --> 00:28:29,660 マックでの私の端末でそれをクリアします。 613 00:28:29,660 --> 00:28:34,660 コントロールLは、一般的にクリアされます 端末の任意の並べ替えのためにそれ。 614 00:28:34,660 --> 00:28:36,480 また、明確な入力することができます。 615 00:28:36,480 --> 00:28:38,410 そしてあなたは今までに入手した場合 奇妙なscenario--へ 616 00:28:38,410 --> 00:28:42,790 それは私のカップルに起こったtime-- どこであなたのプロンプトの色 617 00:28:42,790 --> 00:28:46,590 すべて台無しにするか、またはしている 何かを見ることができません 618 00:28:46,590 --> 00:28:51,232 あなたが入力しているときから、入力中 時々背景色が設定されているような 619 00:28:51,232 --> 00:28:53,940 前景色と同じ そして今、あなたはフォントを見ることはできません。 620 00:28:53,940 --> 00:28:55,110 621 00:28:55,110 --> 00:28:59,830 リセットはちょうどリセット何かである デフォルト黒の背景にあなた、 622 00:28:59,830 --> 00:29:01,840 白いフロント、または何 あなたがそれらを設定してください。 623 00:29:01,840 --> 00:29:03,390 624 00:29:03,390 --> 00:29:04,790 >> だからここで私たちはでしたか? 625 00:29:04,790 --> 00:29:05,930 ドットを検索します。 626 00:29:05,930 --> 00:29:09,360 この過去だから今すべてのもの ポイントは、結果を制限する 627 00:29:09,360 --> 00:29:11,450 一致したものに 所与のパターン。 628 00:29:11,450 --> 00:29:16,110 だからここに私が検索したい 名前の猫を持つすべてのもの。 629 00:29:16,110 --> 00:29:17,300 私は何も持って。 630 00:29:17,300 --> 00:29:18,390 なぜそのような場合ですか? 631 00:29:18,390 --> 00:29:21,230 まあ、私はちょうどを探している 正確に名前の猫で何か。 632 00:29:21,230 --> 00:29:25,150 私は何かを検索したい場合は それは、いくつかのパターンを有し、そしてcat-- 633 00:29:25,150 --> 00:29:28,890 引用符は、技術的に必要ありません、 しかし、私はそこにそれらを投げています。 634 00:29:28,890 --> 00:29:32,720 だから今それがあるためcatcatを見つけ それはそれだけのことだ 635 00:29:32,720 --> 00:29:36,040 いくつかの任意のを持って 猫が続く模様。 636 00:29:36,040 --> 00:29:41,950 私は今、猫*を入れて、することができます catcat、cat_dog、CAT2を見つけ、 637 00:29:41,950 --> 00:29:45,245 ものは猫とすべてのものであるため、 何が続く冒頭に。 638 00:29:45,245 --> 00:29:46,120 あなたはこれを組み合わせることができます。 639 00:29:46,120 --> 00:29:50,480 あなたはすべてのCファイルを検索したい場合は あなたが持っていることを、あなたは* .Cを行う可能性があります。 640 00:29:50,480 --> 00:29:51,960 私たちはここblah.cている。 641 00:29:51,960 --> 00:29:53,000 642 00:29:53,000 --> 00:29:55,020 だから、検索の仕組みです。 643 00:29:55,020 --> 00:29:55,770 あなたが検索できます。 644 00:29:55,770 --> 00:29:58,270 これは、フラグの全体の束を持って さらに制限について。 645 00:29:58,270 --> 00:30:00,960 そしてそれらの上に1が、それでは-dを言わせて。 646 00:30:00,960 --> 00:30:02,110 647 00:30:02,110 --> 00:30:04,435 だから、非推奨。 648 00:30:04,435 --> 00:30:05,425 649 00:30:05,425 --> 00:30:06,550 ああ、それは私が欲しいものではありません。 650 00:30:06,550 --> 00:30:07,730 -dません。 651 00:30:07,730 --> 00:30:08,860 タイプD。 652 00:30:08,860 --> 00:30:13,820 だから、ドットを見つける - タイプd。 653 00:30:13,820 --> 00:30:17,760 だから何それはちょうどやったことは私が探しているされている 現在のディレクトリ内のすべてのファイルのための 654 00:30:17,760 --> 00:30:21,680 A-- Dの略で directory--ディレクトリのタイプ。 655 00:30:21,680 --> 00:30:24,430 これは、すべてのディレクトリを返す 現在のディレクトリ内。 656 00:30:24,430 --> 00:30:27,670 とタイプFは、すべての規則的である ファイル、すべての非ディレクトリ。 657 00:30:27,670 --> 00:30:29,809 だから、それはただだ 別の方法の例あなた 658 00:30:29,809 --> 00:30:32,350 他の検索を制限することができます ファイルの名前だけよりも。 659 00:30:32,350 --> 00:30:34,126 660 00:30:34,126 --> 00:30:35,570 >> それは、30分をされています。 661 00:30:35,570 --> 00:30:36,848 まだ行く。 662 00:30:36,848 --> 00:30:38,132 >> アリソン:私はを通してそよ風よ。 663 00:30:38,132 --> 00:30:39,670 それは大丈夫です。 664 00:30:39,670 --> 00:30:41,460 >> ロブ·ボウデン:だから、いくつかの他のもの。 665 00:30:41,460 --> 00:30:45,700 さて、感嘆符を強打。 666 00:30:45,700 --> 00:30:50,530 だから、一般means-- さて、例を見てみましょう。 667 00:30:50,530 --> 00:30:52,230 そう!fは、どのようなことは何をするつもりですか? 668 00:30:52,230 --> 00:30:53,520 669 00:30:53,520 --> 00:30:57,810 まあそれは持っているようだ ドット-type fのを見つけることが繰り返される。 670 00:30:57,810 --> 00:30:59,240 何!gはどうですか? 671 00:30:59,240 --> 00:31:00,760 それはちょうど* -r猫をgrepする。 672 00:31:00,760 --> 00:31:02,010 673 00:31:02,010 --> 00:31:05,720 ですから、繰り返して使用することができます強打 最近行わコマンド。 674 00:31:05,720 --> 00:31:13,280 私が入力した場合!GREだから、それを再実行するつもりだ ほとんどのGRE始まったコマンド 675 00:31:13,280 --> 00:31:14,060 最近。 676 00:31:14,060 --> 00:31:17,090 >> そして、あなたはこれらすべてを見ることができます 歴史を持つコマンド。 677 00:31:17,090 --> 00:31:17,880 だから、歴史。 678 00:31:17,880 --> 00:31:19,630 これらはすべて 私は今日実行したコマンド。 679 00:31:19,630 --> 00:31:21,089 680 00:31:21,089 --> 00:31:23,130 よく、それは文字通りではありません 今日に限定 681 00:31:23,130 --> 00:31:25,180 しかし、私はこれだけを使用しました 今日の時点でアプライアンス。 682 00:31:25,180 --> 00:31:28,730 それはあなたの全体だ あなたのbashシェルの歴史、 683 00:31:28,730 --> 00:31:30,433 それはいくつかの点で遮断除く。 684 00:31:30,433 --> 00:31:33,474 読者:あなたはどうなります 履歴[聞こえない]コマンドとエラー 685 00:31:33,474 --> 00:31:35,430 結果はまだ印刷されますthe-- 686 00:31:35,430 --> 00:31:44,110 >> ロブ·ボウデン:ええ、存在する場合 これらcommands--のいずれかでエラー 687 00:31:44,110 --> 00:31:48,090 それでは言わせて、つまり、 エラーコマンドが見つかりません。 688 00:31:48,090 --> 00:31:49,312 689 00:31:49,312 --> 00:31:50,520 まだ歴史の中で表示されます。 690 00:31:50,520 --> 00:31:52,620 691 00:31:52,620 --> 00:31:53,170 わかりました。 692 00:31:53,170 --> 00:31:54,750 693 00:31:54,750 --> 00:31:56,040 何でも上の他の質問? 694 00:31:56,040 --> 00:31:58,760 695 00:31:58,760 --> 00:32:00,300 だから、ビッグバンだ。 696 00:32:00,300 --> 00:32:04,230 >> さて、本当に便利なコマンド、男。 697 00:32:04,230 --> 00:32:07,750 だからあなたに与えます 指定されたコマンドのマニュアル。 698 00:32:07,750 --> 00:32:11,640 だから、それでは、男LSを言わせて これは私にはlsを見せている。 699 00:32:11,640 --> 00:32:13,400 これは、ディレクトリの内容を一覧表示します。 700 00:32:13,400 --> 00:32:17,150 私はそこを参照してくださいどこに、これがある 存在し、これらの様々なフラグになります。 701 00:32:17,150 --> 00:32:21,340 だから我々はそれが-lが存在しているLSを参照してください。 我々はそれを読むためにあたかも。のls -l 702 00:32:21,340 --> 00:32:26,150 私のこの完全なリストを提供します ファイルの所有者を持つディレクトリ、 703 00:32:26,150 --> 00:32:29,750 ファイルのサイズ 修正されたタイムスタンプ。 704 00:32:29,750 --> 00:32:31,130 705 00:32:31,130 --> 00:32:34,980 だから、lsコマンドに-aはあなたがかもしれないもう一つです 実際にやや頻繁に使用する。 706 00:32:34,980 --> 00:32:38,130 -alはこの過去のls私の最も一般的なフラグです。 707 00:32:38,130 --> 00:32:42,520 >> だから、-a、たくさんあり​​ます気づく ただLSより多くのファイル。 708 00:32:42,520 --> 00:32:44,170 のls -a。 709 00:32:44,170 --> 00:32:46,170 これらのすべてのファイルとの共通点は何ですか? 710 00:32:46,170 --> 00:32:47,790 彼らは、ドットで始まる。 711 00:32:47,790 --> 00:32:54,710 だから、これは、Linuxのコンベンションつまり ドットで始まるファイルが隠されている。 712 00:32:54,710 --> 00:32:58,330 だから、それだけであることを意味します ときに我々だけでストレートのls、 713 00:32:58,330 --> 00:33:04,170 または私達は使用してこのディレクトリを検索している ファインダーと同等、またはWindows 714 00:33:04,170 --> 00:33:07,250 エクスプローラと同等の、その私たち これらのドットファイルを表示したくない。 715 00:33:07,250 --> 00:33:09,680 彼らはただ、物事の見解を汚染。 716 00:33:09,680 --> 00:33:11,790 そこで、彼らは隠されている あなたない限り、具体的 717 00:33:11,790 --> 00:33:14,250 -aのようなもので、それらを要求する。 718 00:33:14,250 --> 00:33:18,920 だから私は.localのにCDをすることができ、私が参照してください。 それ自体は、ディレクトリとであること 719 00:33:18,920 --> 00:33:22,220 共有ディレクトリ、および アプリケーション、および何とか何とか何とか。 720 00:33:22,220 --> 00:33:24,520 だから、彼らはちょうど隠されているファイルに点在しています。 721 00:33:24,520 --> 00:33:26,250 722 00:33:26,250 --> 00:33:29,355 >> [OK]を、ので、他の重要なもの。 723 00:33:29,355 --> 00:33:30,490 724 00:33:30,490 --> 00:33:32,000 私はスキップすることができますいくつかあります。 725 00:33:32,000 --> 00:33:38,160 約の本物の迅速な話をしましょう ファイルリダイレクトの事。 726 00:33:38,160 --> 00:33:43,020 だから、全体の複雑なシリーズがあります 物事のあなたがこれらを行うことができますが、 727 00:33:43,020 --> 00:33:47,204 しかしちょうどそれらを見るために、エコー、の言わせて。 728 00:33:47,204 --> 00:33:47,870 別のコマンド。 729 00:33:47,870 --> 00:33:48,920 本当にばかコマンド。 730 00:33:48,920 --> 00:33:50,710 それがないすべては、私はそれを伝えるものプリントである。 731 00:33:50,710 --> 00:33:52,070 だから、ハローエコー。 732 00:33:52,070 --> 00:33:53,850 それはちょうどスクリーンに挨拶をエコー。 733 00:33:53,850 --> 00:33:55,170 734 00:33:55,170 --> 00:33:56,390 こんにちは。 735 00:33:56,390 --> 00:33:57,890 エコーズハローワールド。 736 00:33:57,890 --> 00:34:02,650 >> だから、一つのコマンドまたは1 bashが理解シンボル 737 00:34:02,650 --> 00:34:07,620 これは、シンボルよりも大きく、かつ それは、ファイルシンボルに出力される。 738 00:34:07,620 --> 00:34:10,940 もしそうなら、私の出力は次の fooは、今ファイルあります 739 00:34:10,940 --> 00:34:15,100 、fooというの内側 これのHello Worldです。 740 00:34:15,100 --> 00:34:18,489 だから私はエコーときことに気付く こんにちはfooの中に世界のパイプ、 741 00:34:18,489 --> 00:34:19,980 それはHello Worldのをエコーし​​ませんでした。 742 00:34:19,980 --> 00:34:22,630 その代わりに、ファイルfooに入れた。 743 00:34:22,630 --> 00:34:25,340 そして別のコマンドだけ 、あなたに猫をそれを投げるために。 744 00:34:25,340 --> 00:34:29,191 それはちょうど完全に簡単な方法です ファイルの内容を一覧表示する 745 00:34:29,191 --> 00:34:31,440 私は開く必要はありませんように それを表示するには、テキストエディタ。 746 00:34:31,440 --> 00:34:34,159 のため、内容 fooというファイルのHello Worldです。 747 00:34:34,159 --> 00:34:38,460 そして、私は猫blah.c可能性、 内容はこれです。 748 00:34:38,460 --> 00:34:42,123 >> この場合も、これらはやる、コマンドではありません あなたがそれらをすべて記憶している期待しています。 749 00:34:42,123 --> 00:34:43,860 アイデアは、あなたがそれらを見てきている。 750 00:34:43,860 --> 00:34:45,735 たぶん、あなたは上で作業している 何か、あなたがしている 751 00:34:45,735 --> 00:34:47,230 のような私は、このファイルを開くのはうんざりだ。 752 00:34:47,230 --> 00:34:50,120 私はちょうど見えることがしたい 実際に素早く内容で。 753 00:34:50,120 --> 00:34:52,320 その後、それを行うことができ 振り返ってみると、ああ、私を言うこと 754 00:34:52,320 --> 00:34:55,250 のようなものを覚えている それが存在し、それが猫だ。 755 00:34:55,250 --> 00:35:00,630 >> だから、ファイルに起こっている。 756 00:35:00,630 --> 00:35:06,639 今、何か良いは実際にはありません まだファイルからの読み取りの例。 757 00:35:06,639 --> 00:35:08,930 かかる何か何ですか での標準から何か? 758 00:35:08,930 --> 00:35:10,010 759 00:35:10,010 --> 00:35:11,544 任意の単純Linuxコマンド? 760 00:35:11,544 --> 00:35:13,480 761 00:35:13,480 --> 00:35:16,970 私たちは夫婦で、それを取得した場合 週間piece--よくすべての、 762 00:35:16,970 --> 00:35:20,470 今週あなたが作品を持っている ユーザからの入力を取り始める。 763 00:35:20,470 --> 00:35:23,696 だから通常は次のように入力 キーボードでその入力。 764 00:35:23,696 --> 00:35:25,570 代わりにそれを入力するのは キーボードでの入力、 765 00:35:25,570 --> 00:35:30,950 ファイルから次のことができます代わりにパイプ あなたが行うときにマリオ、./marioので、 766 00:35:30,950 --> 00:35:35,200 任意のファイルからのパイプ、および それはマリオ·プログラムを実行するために起こっている。 767 00:35:35,200 --> 00:35:37,300 での入力を期待していません キーボード、代わりにそれはだ 768 00:35:37,300 --> 00:35:39,650 ただ読むつもり fooのファイルからの行。 769 00:35:39,650 --> 00:35:45,230 >> fooはにそれを置くよりも、とても大きい fooのファイル未満のfoo 770 00:35:45,230 --> 00:35:50,170 fooのファイルからのものを取り、 このプログラムへの入力として使用していますことを。 771 00:35:50,170 --> 00:35:51,520 772 00:35:51,520 --> 00:36:00,630 そして、ちょうどそれを見て、我​​々はまた、エコーでした fooのバーバズ、その後、1つではなく 773 00:36:00,630 --> 00:36:03,850 より大きく、のがfooに2をやらせる。 774 00:36:03,850 --> 00:36:05,610 それは何をしますか? 775 00:36:05,610 --> 00:36:07,180 それはちょうど、ファイルに追加します。 776 00:36:07,180 --> 00:36:15,360 私はに何とかエコーない場合ので、代わりに気付く fooとその後猫のfooという、それだけで何とかです。 777 00:36:15,360 --> 00:36:18,285 ファイルへだから、ときに出力、それを 完全にそのファイルを上書きします。 778 00:36:18,285 --> 00:36:19,330 779 00:36:19,330 --> 00:36:22,740 あなただけ追加したい場合は、 [ダブル?年生。 ?] 780 00:36:22,740 --> 00:36:24,080 >> そして最後はパイプである。 781 00:36:24,080 --> 00:36:29,590 パイプはどこに、はるかに複雑取得 それは一つのコマンドの出力を受け取り、 782 00:36:29,590 --> 00:36:32,320 そして、次のコマンドにそれをフィードバックする。 783 00:36:32,320 --> 00:36:36,140 だから、いくつかの一般的なもの、歴史。 784 00:36:36,140 --> 00:36:37,920 だから、うわ、私はこれを見てする必要はありません。 785 00:36:37,920 --> 00:36:40,680 786 00:36:40,680 --> 00:36:44,485 私に私の歴史の中ですべてのコマンドを表示 私は何かのために-EDをgrepする場所。 787 00:36:44,485 --> 00:36:45,360 いいえ、それは混乱だ。 788 00:36:45,360 --> 00:36:50,360 私が見つけたすべてのコマンドを表示します。 789 00:36:50,360 --> 00:36:52,360 すべては私が今まで走ったコマンドを見つける。 790 00:36:52,360 --> 00:36:55,050 >> だから、歴史。 791 00:36:55,050 --> 00:36:59,017 へ今すぐ履歴出力 このコマンドのリストを画面で、 792 00:36:59,017 --> 00:37:00,850 私はしたくない 画面に出力して。 793 00:37:00,850 --> 00:37:03,445 代わりに私はgrepをパイプにそれに行くよ。 794 00:37:03,445 --> 00:37:04,790 795 00:37:04,790 --> 00:37:07,830 それでは、検索のすべてのインスタンスをgrepしてみましょう。 796 00:37:07,830 --> 00:37:09,550 797 00:37:09,550 --> 00:37:17,000 だから今の代わりにgrepを撮影 代わりに入力、of-- 798 00:37:17,000 --> 00:37:24,360 私たちがしているinput--としてgrepは処理することができます 若干異なるここではgrepを使って。 799 00:37:24,360 --> 00:37:29,550 だからではなく、ののリストを入力する 我々が検索したい事柄 800 00:37:29,550 --> 00:37:31,070 とgrepが入力として取っていると述べた。 801 00:37:31,070 --> 00:37:34,810 だから、僕はgrepを、それを見つけるならば 私は物事を入力するのを待ちます。 802 00:37:34,810 --> 00:37:37,661 だから、猫はハロー見つける。 803 00:37:37,661 --> 00:37:38,160 こんにちは。 804 00:37:38,160 --> 00:37:40,430 805 00:37:40,430 --> 00:37:40,930 検索。 806 00:37:40,930 --> 00:37:43,670 私が見つけると入力するたびに注意してください それは私が見つけるを入力したことを認識している。 807 00:37:43,670 --> 00:37:44,880 808 00:37:44,880 --> 00:37:49,540 だから、これに代えて、意志 検索用の検索ファイル。 809 00:37:49,540 --> 00:37:53,930 >> だから歴史は、今しようとしている 出力すべてのコマンドのリスト。 810 00:37:53,930 --> 00:37:55,200 811 00:37:55,200 --> 00:37:58,100 私たちは、その出力を入れている、 そして我々はgrepのにそれを供給している、 812 00:37:58,100 --> 00:38:00,180 ので、それが吐き出すだ 検索のすべてのインスタンス。 813 00:38:00,180 --> 00:38:02,170 814 00:38:02,170 --> 00:38:05,570 その理由は、私はそれが混乱するだろうと述べた それはまだ混乱している場合だI--です。 815 00:38:05,570 --> 00:38:07,030 私は、grepのをgrep場合。 816 00:38:07,030 --> 00:38:08,755 817 00:38:08,755 --> 00:38:11,130 それはほとんど常にです注意してください コマンドちょうど私を示す 818 00:38:11,130 --> 00:38:15,280 そのコマンドので走った 自身がその中にはgrepを持っています。 819 00:38:15,280 --> 00:38:16,580 820 00:38:16,580 --> 00:38:20,674 >> [OK]を、そのように何でも上の任意の質問? 821 00:38:20,674 --> 00:38:22,340 そして、私はこの時点でそれを上に転送します。 822 00:38:22,340 --> 00:38:24,690 うまくいけば、これはいいです すべてのコマンドの概要 823 00:38:24,690 --> 00:38:30,100 あなたが持っている必要はありませんことを 記憶しますが、これらは作る 824 00:38:30,100 --> 00:38:32,950 何私の固体95% コマンドラインで行う。 825 00:38:32,950 --> 00:38:34,310 826 00:38:34,310 --> 00:38:39,140 また、コマンドラインに留意してください 自体は、bashはプログラミング言語であり、 827 00:38:39,140 --> 00:38:43,070 そしてそのようにあなたがそれに取り掛かる、あなた 本当に複雑な物事を行うことをお勧めします。 828 00:38:43,070 --> 00:38:47,522 そしてそれはのようなものを持っています ループ、IFS、およびそれらのすべて 829 00:38:47,522 --> 00:38:50,230 あなたがに慣れるつもりだ あなたのプログラミング言語。 830 00:38:50,230 --> 00:38:53,660 しかし、それは超えている このセクションの範囲。 831 00:38:53,660 --> 00:38:55,520 832 00:38:55,520 --> 00:38:56,985 [OK]を、ので、noの質問? 833 00:38:56,985 --> 00:38:57,940 834 00:38:57,940 --> 00:38:58,523 アリソン:なし? 835 00:38:58,523 --> 00:38:59,450 GABRIEL:あなたはto--つもりです 836 00:38:59,450 --> 00:39:01,158 アリソン:私はそれを行うことができます 地雷をあなたがしたい場合。 837 00:39:01,158 --> 00:39:02,626 我々は何が起こるか見ることができます。 838 00:39:02,626 --> 00:39:03,750 ロブ·ボウデン:アリソンに消灯。 839 00:39:03,750 --> 00:39:05,090 アリソン:ウー。 840 00:39:05,090 --> 00:39:07,504 あなたは、ロブに従うのは難しい行為だ。 841 00:39:07,504 --> 00:39:08,920 あなたは私があなたと一緒に切り替えたいですか? 842 00:39:08,920 --> 00:39:10,246 それとも、[OK]を、得た。 843 00:39:10,246 --> 00:39:13,590 844 00:39:13,590 --> 00:39:16,990 私がしようとするつもりはないよ かなりそこにとして長くなる。 845 00:39:16,990 --> 00:39:20,619 846 00:39:20,619 --> 00:39:22,660 これが可能ならば見てみましょう 私はそれがしたいように動作します。 847 00:39:22,660 --> 00:39:26,170 848 00:39:26,170 --> 00:39:26,670 多分? 849 00:39:26,670 --> 00:39:27,760 850 00:39:27,760 --> 00:39:28,296 ハハ! 851 00:39:28,296 --> 00:39:28,796 はい。 852 00:39:28,796 --> 00:39:30,460 853 00:39:30,460 --> 00:39:34,066 >> だから、僕は非常に迅速に行くつもりです 変数、ループ、条件を通して、 854 00:39:34,066 --> 00:39:35,440 コンパイラに少し。 855 00:39:35,440 --> 00:39:38,570 あなたは、質問がある場合 どんな時間が、私を停止してください。 856 00:39:38,570 --> 00:39:42,750 これらの人は繰り返すように私に思い出されます 私は忘れないようにあなたの質問、 857 00:39:42,750 --> 00:39:44,210 あまりにも悪いことではありません。 858 00:39:44,210 --> 00:39:45,850 >> 変数だから、うん。 859 00:39:45,850 --> 00:39:48,060 私たちはあなたの誰も持っていない ここではスクラッチ作品。 860 00:39:48,060 --> 00:39:50,440 私はあなたのほとんど確信している場合など あなたはゲームのいくつかの並べ替えを持っていた 861 00:39:50,440 --> 00:39:53,810 あなたがスクラッチで作成されていることを、あなたが持っていた スコアのようなものを追跡するために、 862 00:39:53,810 --> 00:39:55,870 または時間、またはそのような何か。 863 00:39:55,870 --> 00:39:58,080 だから、それらの明るいオレンジ色 我々はそこを参照してください作品 864 00:39:58,080 --> 00:40:02,630 ちょうどスクラッチフォームです 変数、あなたは間違いなく意志 865 00:40:02,630 --> 00:40:04,640 変数を使用すること あなたのプログラムを通して。 866 00:40:04,640 --> 00:40:07,350 あなたがいないなら、私は本当にないんだけど あなたがやっていることを確認してください。 867 00:40:07,350 --> 00:40:09,000 868 00:40:09,000 --> 00:40:12,215 >> しかし、いずれにせよ、大きなもの、 変数を定義する。 869 00:40:12,215 --> 00:40:13,630 870 00:40:13,630 --> 00:40:16,970 C言語ですべての変数があります 宣言された型を持っている、 871 00:40:16,970 --> 00:40:22,090 ので、私はあなたに非常にを与えた 一番上の一般的なもの。 872 00:40:22,090 --> 00:40:24,045 つまり、あなたがあるでしょう 入力し、どのような 873 00:40:24,045 --> 00:40:25,420 あなたは、変数を呼び出すことにしました。 874 00:40:25,420 --> 00:40:27,500 875 00:40:27,500 --> 00:40:29,680 だから、この場合には、タイプ あなたの変数リストで。 876 00:40:29,680 --> 00:40:31,400 >> 私たちは三つの例を持っている。 877 00:40:31,400 --> 00:40:34,439 いくつかのグレードのシャア、 何Aの 878 00:40:34,439 --> 00:40:36,230 私はあなたのすべてが欲しいと確信している このクラスで取得します。 879 00:40:36,230 --> 00:40:37,380 880 00:40:37,380 --> 00:40:40,670 あなたは複数を定義することができます 1ライン上の変数 881 00:40:40,670 --> 00:40:43,880 限り、彼らはすべて同じ型だとして、 そこに私たちの第二の例はある 882 00:40:43,880 --> 00:40:46,409 あなたは3を持っている場所 変数x、y及びz。 883 00:40:46,409 --> 00:40:47,200 彼らはすべての山車だ。 884 00:40:47,200 --> 00:40:49,160 885 00:40:49,160 --> 00:40:53,250 そして、あなたはこの最後では、することもできます int型スコアと番号付きの例 886 00:40:53,250 --> 00:40:56,510 チームの、することができます すぐそこにそれらを初期化します。 887 00:40:56,510 --> 00:41:01,270 >> だから、真ん中の例ではどこ 単に、x、y及びzのフロートを有し 888 00:41:01,270 --> 00:41:02,730 それらは、まだ初期化されません。 889 00:41:02,730 --> 00:41:04,140 彼らは、値を持たない。 890 00:41:04,140 --> 00:41:05,600 それとも、ガベージ値を持つ。 891 00:41:05,600 --> 00:41:07,370 892 00:41:07,370 --> 00:41:10,790 そして、あなたは試してみて、それらを使用する場合、 コンパイラはあなたに叫ぶでしょう。 893 00:41:10,790 --> 00:41:14,727 あなたが両方宣言する必要がと あなたの変数を初期化。 894 00:41:14,727 --> 00:41:16,310 だから、この最後の1は、我々は両方をやっている。 895 00:41:16,310 --> 00:41:19,320 私たちは、変数を宣言している スコアやチームの数の、 896 00:41:19,320 --> 00:41:24,134 私たちは、それらを初期化する与えている それら7および4の初期値 897 00:41:24,134 --> 00:41:24,675 それぞれ。 898 00:41:24,675 --> 00:41:26,310 899 00:41:26,310 --> 00:41:27,190 涼しい。 900 00:41:27,190 --> 00:41:28,550 みんな良い? 901 00:41:28,550 --> 00:41:29,470 恐ろしい。 902 00:41:29,470 --> 00:41:31,690 >> [OK]を、ので、いくつかの規則。 903 00:41:31,690 --> 00:41:35,965 君たちは読んだことがある場合 スタイル50を介して、これらの 904 00:41:35,965 --> 00:41:39,510 我々がしたいだけのものがあります あなたのスタイルで実装します。 905 00:41:39,510 --> 00:41:41,230 だから、意味のある名前。 906 00:41:41,230 --> 00:41:45,700 あなたは物事を呼び出して起動した場合 単にx、y、およびzは、特に 907 00:41:45,700 --> 00:41:47,902 あなたがより長いに入るように プログラムは、あなたがしている 908 00:41:47,902 --> 00:41:49,610 おそらくに行く 自分自身を混乱させ、も 909 00:41:49,610 --> 00:41:52,930 この変数が参照しているものなどがあ​​る。 910 00:41:52,930 --> 00:41:55,880 私はこれが何を意味するのか見当がつかない。 911 00:41:55,880 --> 00:41:59,280 >> だから、それが保持​​することを意図しているかの スコアは、それがスコアと呼ぶ。 912 00:41:59,280 --> 00:42:05,720 それはいくつかの答えを保持するためのものだ場合 または、結果としてそれをそのような名前を付けます。 913 00:42:05,720 --> 00:42:09,920 ループの場合、どの頂きます 次のスライドに入る、 914 00:42:09,920 --> 00:42:12,985 一文字変数は大丈夫です。 915 00:42:12,985 --> 00:42:16,033 916 00:42:16,033 --> 00:42:18,449 ロブ·ボウデン:I、J、およびkである forループのためだけの規則 917 00:42:18,449 --> 00:42:22,050 誰もがそれらを期待すること I、J、およびkと呼ばれる。 918 00:42:22,050 --> 00:42:26,890 あなたは、私が行を見ることthem--呼び出すことができます 時には列または行呼び出し 919 00:42:26,890 --> 00:42:29,450 2つのネストforループ、および それは、標準のようなものだ。 920 00:42:29,450 --> 00:42:31,450 しかし、i、jは、完全には理解される。 921 00:42:31,450 --> 00:42:33,670 >> アリソン:ええ、私と jは、あなたが完全にいいですよ。 922 00:42:33,670 --> 00:42:36,250 のような明瞭さのために あなたのPセットの一部で、 923 00:42:36,250 --> 00:42:39,745 それはより多くを持っている意味をなすかもしれない そこに記述的なものばかり 924 00:42:39,745 --> 00:42:40,920 それを追跡する。 925 00:42:40,920 --> 00:42:45,100 しかし、私はi、jは、と私は思うkを考える 私たちの大半すべての使用。 926 00:42:45,100 --> 00:42:46,890 927 00:42:46,890 --> 00:42:50,340 >> ロブ·ボウデン:これらの付 規則は、とてもスタイルが重要です。 928 00:42:50,340 --> 00:42:53,520 それは、4つの軸の一つだ その上にあなたが採点している、 929 00:42:53,520 --> 00:42:58,110 そしてそれだけで渡って行くことは簡単です あなたのPは最後に設定し、確認してください 930 00:42:58,110 --> 00:42:59,770 文体の間違いがないこと。 931 00:42:59,770 --> 00:43:01,742 だから、あなたが正しくタブ移動していることを確認してください。 932 00:43:01,742 --> 00:43:03,200 あなたの変数が命名されていることを確認します。 933 00:43:03,200 --> 00:43:04,450 いくつかのコメントを残す。 934 00:43:04,450 --> 00:43:06,677 それは、これらのポイントを取得するために非常に簡単です。 935 00:43:06,677 --> 00:43:09,510 あなたが考える必要はありません これらのポイントを得るために何でも。 936 00:43:09,510 --> 00:43:11,093 あなたが何かを把握する必要はありません。 937 00:43:11,093 --> 00:43:12,640 それはちょうどそれはかなり見て作っている。 938 00:43:12,640 --> 00:43:14,850 >> アリソン:実際には、我々 、スタイル50を持っている 939 00:43:14,850 --> 00:43:17,920 あなたがめちゃくちゃにどこを教えてくれます あなたがスタイルにめちゃくちゃにしている場合、最大 940 00:43:17,920 --> 00:43:21,180 そして、まさにあなたのことを教えてくれます 修正する必要があり、どのようにそれを修正する必要があります。 941 00:43:21,180 --> 00:43:23,900 それは言及するだけでも良いことだ それは当然の方針だという 942 00:43:23,900 --> 00:43:27,200 あなたがオフィスにいる場合に 時間とあなたのコードは混乱です、 943 00:43:27,200 --> 00:43:30,200 私達は助けるために辞退することができます あなたはそれがよりよいようになるまで。 944 00:43:30,200 --> 00:43:34,310 だから、右から始め、 一貫したスタイルを保つ、 945 00:43:34,310 --> 00:43:37,100 あなたもほんのするつもりだ ときあなたの人生ずっと簡単 946 00:43:37,100 --> 00:43:38,730 あなたは、デバッグを通過しようとしている。 947 00:43:38,730 --> 00:43:41,510 あなたが把握しようとしている場合 あなたは波括弧が欠落している場所 948 00:43:41,510 --> 00:43:44,890 そして彼らはあなたがしている、あらゆる場所にある ちょうどあなた自身の人生が困難になっています。 949 00:43:44,890 --> 00:43:47,217 だから、スタイルと一致している。 950 00:43:47,217 --> 00:43:48,800 私はそれがあなたの人生を容易に約束。 951 00:43:48,800 --> 00:43:50,330 それは、私たちの生活を楽にします。 952 00:43:50,330 --> 00:43:51,869 みんながずっと幸せになります。 953 00:43:51,869 --> 00:43:52,910 そして、それはあなたが望むものだ。 954 00:43:52,910 --> 00:43:54,192 955 00:43:54,192 --> 00:43:55,650 GABRIEL:あなたのグレードが高くなります。 956 00:43:55,650 --> 00:43:56,858 アリソン:はい、あなたの成績。 957 00:43:56,858 --> 00:43:58,410 958 00:43:58,410 --> 00:44:01,930 あなたのTFはあなたのようなものだ場合は、 良好になる傾向がある。 959 00:44:01,930 --> 00:44:02,940 960 00:44:02,940 --> 00:44:05,010 すべての権利、そして、ちょうど ここで第二の点。 961 00:44:05,010 --> 00:44:06,300 一貫性のある初期化。 962 00:44:06,300 --> 00:44:09,605 我々が見たように、あなたが宣言することができます 物事を初期化します。 963 00:44:09,605 --> 00:44:10,750 964 00:44:10,750 --> 00:44:13,180 同じ行に複数の変数。 965 00:44:13,180 --> 00:44:17,930 一つのこと私たちはあなたをしない希望 行うためには、いくつかの変数を宣言することです 966 00:44:17,930 --> 00:44:21,360 と同じにそれらを初期化できません あなたが他の人を初期化しているライン。 967 00:44:21,360 --> 00:44:23,960 >> だから場合について、その 全く意味ない、 968 00:44:23,960 --> 00:44:29,050 私たちはここでの例を持っている どこに我々はint型を宣言している 969 00:44:29,050 --> 00:44:31,180 四半期の変数 ダイムとペニー、 970 00:44:31,180 --> 00:44:34,214 しかし、四半期およびペニー 全く初期値を持たない。 971 00:44:34,214 --> 00:44:36,630 我々はそれらを初期化していない、 しかしそこに真ん中 972 00:44:36,630 --> 00:44:38,600 我々はすでにダイムを0に初期化。 973 00:44:38,600 --> 00:44:41,650 だから、どちらかの四半期、ダイム、ペニーを行う。 974 00:44:41,650 --> 00:44:43,170 または四半期が0に等しくない。 975 00:44:43,170 --> 00:44:43,930 ダイムは0に​​等しい。 976 00:44:43,930 --> 00:44:46,810 ペニーは0に等しく、または何 これらの初期値である。 977 00:44:46,810 --> 00:44:49,800 >> スタイルで大きなもの、一貫している。 978 00:44:49,800 --> 00:44:51,050 疑わしい場合に、一貫している。 979 00:44:51,050 --> 00:44:52,129 980 00:44:52,129 --> 00:44:53,420 しかし、あまりにも私たちのスタイルガイドに従ってください。 981 00:44:53,420 --> 00:44:54,710 982 00:44:54,710 --> 00:44:55,317 涼しい。 983 00:44:55,317 --> 00:44:56,150 誰もそこに良い? 984 00:44:56,150 --> 00:44:57,566 >> 聴衆:スタイルガイドはどこにありますか? 985 00:44:57,566 --> 00:45:00,800 アリソン:スタイルガイド ウェブサイトは何on--のですか? 986 00:45:00,800 --> 00:45:03,950 >> GABRIEL:私はそれがmanual.cs50.net/--だと思う 987 00:45:03,950 --> 00:45:04,575 アリソン:スタイル? 988 00:45:04,575 --> 00:45:05,610 989 00:45:05,610 --> 00:45:06,390 >> GABRIEL:スタイル。 990 00:45:06,390 --> 00:45:06,920 うん。 991 00:45:06,920 --> 00:45:07,520 >> アリソン:はい。 992 00:45:07,520 --> 00:45:10,150 だからここで、スタイル50、質問。 993 00:45:10,150 --> 00:45:12,250 manual.cs50.net/style。 994 00:45:12,250 --> 00:45:13,639 はい? 995 00:45:13,639 --> 00:45:16,880 >> 読者:私たちは定義している場合 変数は、それはOKです 996 00:45:16,880 --> 00:45:28,145 我々は[聞こえない]のように置く場合のような int型のスコア、次にint型のゴール。 997 00:45:28,145 --> 00:45:29,873 998 00:45:29,873 --> 00:45:35,100 だから、今私たちがしたことだと思います それらを一緒に定義するようになった? 999 00:45:35,100 --> 00:45:37,640 >> アリソン:だから、質問すべき あなたは冗長なコードを持っている 1000 00:45:37,640 --> 00:45:40,940 あなたが定義しているとき intなどスコアなどの変数と 1001 00:45:40,940 --> 00:45:43,239 次の行のint型のゲームに? 1002 00:45:43,239 --> 00:45:46,030 ROB BOWDEN:間違いなくあります 冗長コードが悪い例。 1003 00:45:46,030 --> 00:45:47,738 私は考えていない その冗長コード。 1004 00:45:47,738 --> 00:45:50,970 私はほとんど複数宣言することはありません これまでと同じライン上の変数。 1005 00:45:50,970 --> 00:45:53,736 そしてどちらかといえば、それは理由だ 通常、私はコメントのいくつかの並べ替えを残す 1006 00:45:53,736 --> 00:45:55,235 変数が何のためにあるのかを説明する。 1007 00:45:55,235 --> 00:45:57,582 だから私は、int型のスコアスラッシュスラッシュを言うよ。 1008 00:45:57,582 --> 00:45:59,350 何を追跡します。 1009 00:45:59,350 --> 00:46:00,710 総スラッシュスラッシュ中。 1010 00:46:00,710 --> 00:46:01,790 1011 00:46:01,790 --> 00:46:06,455 だから、そのように多くのグローサーだ 同じ行にそれらをすべて置くために。 1012 00:46:06,455 --> 00:46:08,080 私はちょうど同じ行にそれらを置くことはありません。 1013 00:46:08,080 --> 00:46:10,580 >> アリソン:それはだような気が この時点では個人的な好み。 1014 00:46:10,580 --> 00:46:14,900 >> 読者:それはのために行くか あまりにループやもののため? 1015 00:46:14,900 --> 00:46:15,900 ロブ·ボウデン:内側気に入りましたか? 1016 00:46:15,900 --> 00:46:18,282 int型のように、私は0コンマに等しい 長さは、何かに等しい? 1017 00:46:18,282 --> 00:46:19,490 あなたは選択肢を持っていないこと。 1018 00:46:19,490 --> 00:46:21,850 1019 00:46:21,850 --> 00:46:25,910 forループの初期化と part--ので、あなただけ見ているかもしれません 1020 00:46:25,910 --> 00:46:31,520 int型私はあまり0セミコロンに等しい どんなセミコロン私プラスプラスより。 1021 00:46:31,520 --> 00:46:33,820 そのint型のiが、0に等しい 技術的にあなたがすることもできます 1022 00:46:33,820 --> 00:46:35,770 我々は前に見たものをやる コンマ構文で。 1023 00:46:35,770 --> 00:46:39,790 int型iが0コンマjを等しい 3カンマkが5に等しい等しい。 1024 00:46:39,790 --> 00:46:41,610 1025 00:46:41,610 --> 00:46:44,320 あなたが分割する選択肢を持っていない 複数の行にそのアップ、 1026 00:46:44,320 --> 00:46:46,530 それが標準だ。 1027 00:46:46,530 --> 00:46:47,780 それを見ることは罰金があります。 1028 00:46:47,780 --> 00:46:49,182 1029 00:46:49,182 --> 00:46:49,890 アリソン:恐ろしい。 1030 00:46:49,890 --> 00:46:52,120 さて、ループに便利セグエ。 1031 00:46:52,120 --> 00:46:54,860 1032 00:46:54,860 --> 00:46:58,980 そんなわけで、ここではいくつかの例を持っている の君たちはスクラッチで見たことをループします。 1033 00:46:58,980 --> 00:47:01,550 そしてもちろん、これらすべての ただ、Cで再作成することができます 1034 00:47:01,550 --> 00:47:04,610 そして、彼らは基本的にあなたを許可する コー​​ドのいくつかのセクションを繰り返す 1035 00:47:04,610 --> 00:47:06,740 一定の条件まで、 満たされ、私たちはどのよ 1036 00:47:06,740 --> 00:47:09,198 話をした後に右に入る 約条件文でループします。 1037 00:47:09,198 --> 00:47:11,150 1038 00:47:11,150 --> 00:47:12,570 >> だから我々は3つの主なタイプがあります。 1039 00:47:12,570 --> 00:47:17,500 しばらくのためには、しばらく操作を行い、その 我々はすべて今、通過します。 1040 00:47:17,500 --> 00:47:18,860 だから、最初のものはforループである。 1041 00:47:18,860 --> 00:47:20,490 1042 00:47:20,490 --> 00:47:25,034 だから、いくつかの条件のために、 次のコードブロックを実行します。 1043 00:47:25,034 --> 00:47:27,200 我々は、このクールな小さなを持っている ここで一番下の図。 1044 00:47:27,200 --> 00:47:28,230 1045 00:47:28,230 --> 00:47:32,310 しかし、基本的にあなたが持っている あなたのために、その最初の行、 1046 00:47:32,310 --> 00:47:34,240 あなたはするつもりだ あなたの変数を初期化。 1047 00:47:34,240 --> 00:47:38,260 >> だから我々はiは、の話として 0やiに等しい、10に等しい。 1048 00:47:38,260 --> 00:47:40,010 あなたがすることを必要とするものは何でも 変数は、それはすべきだ 1049 00:47:40,010 --> 00:47:43,970 そこに初期化されようとし、 宣言され、いくつかの値で初期化された。 1050 00:47:43,970 --> 00:47:46,760 それでは我々はいくつかを持っている 起こっている状態 1051 00:47:46,760 --> 00:47:48,900 私たちをチェックする 何かに対して変数。 1052 00:47:48,900 --> 00:47:55,220 典型的なケース場合でそう 多分あなたは、コードのこのセクションをしたい 1053 00:47:55,220 --> 00:47:56,620 5回実行します。 1054 00:47:56,620 --> 00:48:02,380 だから我々はiが0に等しいintを持っている、と我々と思います iが5未満である場合にそれになりたい。 1055 00:48:02,380 --> 00:48:04,940 だから、その条件はただである そのたびに確認する予定。 1056 00:48:04,940 --> 00:48:07,120 その状態であれば trueと評価された、それはだ 1057 00:48:07,120 --> 00:48:11,162 正確にコードを実行するつもり この小さな図は何を示している。 1058 00:48:11,162 --> 00:48:12,370 1059 00:48:12,370 --> 00:48:13,639 >> そしてそれは、それを実行します。 1060 00:48:13,639 --> 00:48:15,430 これは、変数を更新し、 私たちが見るものである 1061 00:48:15,430 --> 00:48:21,020 私たちのための最後の部分で そこにループ初期。 1062 00:48:21,020 --> 00:48:22,370 1063 00:48:22,370 --> 00:48:26,030 だから、それだけでこれをやっておこう その条件が満たされなくなるまで、 1064 00:48:26,030 --> 00:48:28,010 そして、それが終了します ループして続行 1065 00:48:28,010 --> 00:48:29,960 あなたのプログラムの他の部分と上に移動する。 1066 00:48:29,960 --> 00:48:31,320 1067 00:48:31,320 --> 00:48:33,620 誰もそこに良い? 1068 00:48:33,620 --> 00:48:34,440 涼しい。 1069 00:48:34,440 --> 00:48:37,780 >> だからここに、非常によく似た例だ 何かに私はちょうどについて話しました。 1070 00:48:37,780 --> 00:48:42,030 だから我々はただ印刷したい これは10回CS50です。 1071 00:48:42,030 --> 00:48:44,540 ですから、私たちが持っているこちらを参照してください。 私達のために、次に我々 1072 00:48:44,540 --> 00:48:47,450 変数を初期化する iが0に等しいとする。 1073 00:48:47,450 --> 00:48:50,610 私たちの状態はチェックしている それが10未満だと。 1074 00:48:50,610 --> 00:48:55,210 最初のときに我々だから、真と評価 起動し、私たちの変数を更新 1075 00:48:55,210 --> 00:48:58,985 それが実際に実行されるたびに これはCS50でプリントアウトする。 1076 00:48:58,985 --> 00:49:00,510 1077 00:49:00,510 --> 00:49:02,180 そして10回後に終了します。 1078 00:49:02,180 --> 00:49:03,190 1079 00:49:03,190 --> 00:49:04,070 涼しい。 1080 00:49:04,070 --> 00:49:07,130 >> ループは次回ながらそう。 1081 00:49:07,130 --> 00:49:12,400 そして、あなたがここに見るように、私たちは持っている このcondition--質問しながら、いくつか? 1082 00:49:12,400 --> 00:49:15,238 >> 読者:私はどのようにジャンプすることができます 実際にだけではないつの番号、 1083 00:49:15,238 --> 00:49:19,030 しかし二つの数字[聞こえない] 私プラスプラスプラス? 1084 00:49:19,030 --> 00:49:23,390 >> アリソン:だから質問はあなたがどの​​ようにできた あなたの変数は、複数ずつ更新 1085 00:49:23,390 --> 00:49:24,070 当時。 1086 00:49:24,070 --> 00:49:26,860 だから私プラスプラスの意志 1ずつ更新。 1087 00:49:26,860 --> 00:49:32,310 あなたがすることによってそれを更新したい場合 2、あなたは私がプラス2に等しい行うことができます。 1088 00:49:32,310 --> 00:49:34,526 >> ロブ·ボウデン:あなたが見たことがあります プラスまだ講義内のequals? 1089 00:49:34,526 --> 00:49:35,442 >> 読者:[聞こえない]。 1090 00:49:35,442 --> 00:49:37,440 1091 00:49:37,440 --> 00:49:42,110 >> ALLISON:それは効果的だ iはプラス2に等しいと同じこと。 1092 00:49:42,110 --> 00:49:46,130 だから、それを取るために起こっていると 2ずつ、それを更新します。 1093 00:49:46,130 --> 00:49:49,432 プラスだけで何かある等しい 私たちはシンタックスシュガーを呼び出します。 1094 00:49:49,432 --> 00:49:52,390 ロブ·ボウデン:ええ、それらはのために存在する ほとんどすべての算術演算子。 1095 00:49:52,390 --> 00:49:55,830 に等しいので、私倍 数を倍増でしょう。 1096 00:49:55,830 --> 00:50:02,590 J格差は3が同じであるに等しい jと3で割ったjと等しい。 1097 00:50:02,590 --> 00:50:07,399 >> アリソン:またはマイナス2になると等しい 2毎回iをデクリメント。 1098 00:50:07,399 --> 00:50:08,565 ロブ·ボウデン:でもMODイコール。 1099 00:50:08,565 --> 00:50:09,690 1100 00:50:09,690 --> 00:50:13,270 あなたはビット演算子を見ていない、 しかし、キャレットが等しく、アンパサンドが等しい 1101 00:50:13,270 --> 00:50:14,560 それらのすべてが存在する。 1102 00:50:14,560 --> 00:50:19,480 >> アリソン:時代のだから多く、特に Pセットの最初のカップルと、 1103 00:50:19,480 --> 00:50:22,527 あなたはおそらくによってインクリメントされます 1、私プラスプラス、Jプラスプラス 1104 00:50:22,527 --> 00:50:24,610 あなたが行っているすべてのものがあります 一般的に使用される。 1105 00:50:24,610 --> 00:50:28,240 しかし、その更新条件である 完全にあなたのコントロール内。 1106 00:50:28,240 --> 00:50:32,310 あなたはどのような増分でそれを更新することができます あるいはどのような方法であなたがすることを決定。 1107 00:50:32,310 --> 00:50:33,389 1108 00:50:33,389 --> 00:50:35,680 たぶん、あなたもそれになりたい 時々乱数。 1109 00:50:35,680 --> 00:50:37,180 1110 00:50:37,180 --> 00:50:39,580 しかし、はい、たくさんあり​​ます あなたがそれを使ってできること。 1111 00:50:39,580 --> 00:50:41,280 あなたは私プラスプラスに限定していない。 1112 00:50:41,280 --> 00:50:44,400 >> ロブ·ボウデン:ちょうどあなたがそう それはまた、それが存在することがわかっている 1113 00:50:44,400 --> 00:50:46,960 別の形で存在する、プラスプラス私。 1114 00:50:46,960 --> 00:50:51,410 だから、あなたは今までオンライン検索している場合は、 そして、プラスプラス私を見ることが起こる 1115 00:50:51,410 --> 00:50:52,870 ほとんど同じことを意味します。 1116 00:50:52,870 --> 00:50:54,377 1117 00:50:54,377 --> 00:50:54,960 アリソン:クール。 1118 00:50:54,960 --> 00:50:56,070 1119 00:50:56,070 --> 00:50:56,740 グッド? 1120 00:50:56,740 --> 00:50:57,240 恐ろしい。 1121 00:50:57,240 --> 00:50:59,190 1122 00:50:59,190 --> 00:50:59,990 whileループそう。 1123 00:50:59,990 --> 00:51:01,160 1124 00:51:01,160 --> 00:51:02,570 非常に似ています。 1125 00:51:02,570 --> 00:51:03,737 あなたは、いくつかの条件を持っている。 1126 00:51:03,737 --> 00:51:05,820 注意すべき主なもの ここで代わりになるものである 1127 00:51:05,820 --> 00:51:08,540 三つの異なる部分 セットアップするために、我々は1つを持っています。 1128 00:51:08,540 --> 00:51:11,090 私達はちょうど、いくつかの条件を持っている それがチェックされています。 1129 00:51:11,090 --> 00:51:14,920 と同様に限り、 その条件がtrueと評価され、 1130 00:51:14,920 --> 00:51:16,840 あなたのコードが実行しようとしている。 1131 00:51:16,840 --> 00:51:18,870 そして、それは偽だ場合には、それを 、移動を終了します 1132 00:51:18,870 --> 00:51:21,930 あなたのプログラムの次の部分の上に。 1133 00:51:21,930 --> 00:51:25,780 だから、これは一種の何like--です チェックの良い例 1134 00:51:25,780 --> 00:51:27,215 いくつかの通常の状態のために? 1135 00:51:27,215 --> 00:51:29,402 1136 00:51:29,402 --> 00:51:30,235 GABRIEL:真ながら。 1137 00:51:30,235 --> 00:51:32,110 アリソン:真の間は、行うことができます。 1138 00:51:32,110 --> 00:51:33,510 さて、図1は、1に等しい。 1139 00:51:33,510 --> 00:51:34,970 1140 00:51:34,970 --> 00:51:37,642 >> ロブ·ボウデン:あなたが行うことができますwhile-- だけではなく、forループを用いての、 1141 00:51:37,642 --> 00:51:39,600 あなたは常にコーディングすることができます whileループのループのために、 1142 00:51:39,600 --> 00:51:42,600 ので、私が0より大きいか iは10未満、一方。 1143 00:51:42,600 --> 00:51:45,200 1144 00:51:45,200 --> 00:51:46,010 >> アリソン:恐ろしい。 1145 00:51:46,010 --> 00:51:50,640 ループしながら、その後、我々は、どの操作を行いました ユーザー検証、最適です 1146 00:51:50,640 --> 00:51:55,370 あなたがから何かを取得したい ユーザー、それが有効だかどうかを確認し、 1147 00:51:55,370 --> 00:51:57,060 そしてそこから続ける。 1148 00:51:57,060 --> 00:52:04,000 だから、知っているものの一つであると それが実行に起こっているということですしながらやる、 1149 00:52:04,000 --> 00:52:08,000 そしてそれは再実行します この条件が満たされた場合。 1150 00:52:08,000 --> 00:52:11,240 >> だから、おそらく最良の方法は、これを行うには ちょうどここに例を見ることです。 1151 00:52:11,240 --> 00:52:14,620 だから私は今述べたように、ユーザ 検証は本当にuseful--です 1152 00:52:14,620 --> 00:52:17,520 または時々を行う実際にある ユーザー検証で有用。 1153 00:52:17,520 --> 00:52:19,730 だから、これはちょうど起こっている いくつかのユーザーを再促す 1154 00:52:19,730 --> 00:52:23,640 彼らは正の数を入力するまで、 あなたのPセットのために有用であるかもしれない 1155 00:52:23,640 --> 00:52:24,190 今週。 1156 00:52:24,190 --> 00:52:25,850 1157 00:52:25,850 --> 00:52:29,480 したがってこの場合には、ときに我々 最初にこのプログラムを実行する、 1158 00:52:29,480 --> 00:52:32,260 それは印刷するために起こっている 正の数を入力してください。 1159 00:52:32,260 --> 00:52:34,810 これは、いくつかを得るために起こっている ユーザからの入力、 1160 00:52:34,810 --> 00:52:38,320 そして、それは確認して起こっている 条件に対して、その入力 1161 00:52:38,320 --> 00:52:39,500 あなたはそれのために設定したこと。 1162 00:52:39,500 --> 00:52:41,030 >> したがって、このケースでは、チェックになるだろう。 1163 00:52:41,030 --> 00:52:44,190 これは、[OK]を、言おうとしています 我々の入力が負である 1164 00:52:44,190 --> 00:52:47,175 あるいは、0または負である、 これは無効になります。 1165 00:52:47,175 --> 00:52:48,300 だから、それは再度プロンプトだろう。 1166 00:52:48,300 --> 00:52:50,280 1167 00:52:50,280 --> 00:52:50,780 質問? 1168 00:52:50,780 --> 00:52:54,720 >> 聴衆:これはその後と同じですか whileループあなただけの、そのコードをコピーした場合 1169 00:52:54,720 --> 00:52:56,680 whileループ[聞こえない]それを置く? 1170 00:52:56,680 --> 00:52:59,620 1171 00:52:59,620 --> 00:53:05,160 >> アリソン:だから質問があっただろう これはちょうどしばらくと同じでなければ 1172 00:53:05,160 --> 00:53:08,570 ループは我々だけにした場合は、 上記のwhileループをコピーします。 1173 00:53:08,570 --> 00:53:12,440 したがって、この場合には、あなたのwhileループである 最初の状態を確認する予定。 1174 00:53:12,440 --> 00:53:15,300 我々が試みこの場合、もしそうであれば 単にwhileループとして書き込むには、 1175 00:53:15,300 --> 00:53:18,010 それはしばらく時間が言うでしょう 入力が1未満である。 1176 00:53:18,010 --> 00:53:20,801 しかし、我々はそれのための入力を持っていません。 1177 00:53:20,801 --> 00:53:24,238 >> 読者:あなたの場合[聞こえない] ループはこのコードを含めて、 1178 00:53:24,238 --> 00:53:28,166 しかし、あなたは、コードを対処 また、whileループ上記。 1179 00:53:28,166 --> 00:53:31,052 あなたはただ、このコードを持っていた [聞こえない] whileループ。 1180 00:53:31,052 --> 00:53:32,760 アリソン:それは次のようになります 同じこと、はい。 1181 00:53:32,760 --> 00:53:37,110 だから、あなただけのwrite--できた 代わりにdo--イエスを持っていることの。 1182 00:53:37,110 --> 00:53:37,976 1183 00:53:37,976 --> 00:53:39,350 GABRIEL:しかし、それはよりエレガントだ。 1184 00:53:39,350 --> 00:53:41,020 アリソン:ええ、それはよりエレガントだ。 1185 00:53:41,020 --> 00:53:44,560 あなたは、デザインやその他もろもろに入ることができます しかし、はい、あなたは完全にそれを行うことができます。 1186 00:53:44,560 --> 00:53:45,850 1187 00:53:45,850 --> 00:53:47,072 他の質問? 1188 00:53:47,072 --> 00:53:49,240 1189 00:53:49,240 --> 00:53:50,250 クール、[OK]をクリックします。 1190 00:53:50,250 --> 00:53:55,540 >> だから我々は条件について多くのことを話した 我々が持っているすべてのこれらのループと、 1191 00:53:55,540 --> 00:53:58,615 私たちは、実際に取得している ブール式での条件。 1192 00:53:58,615 --> 00:53:59,990 1193 00:53:59,990 --> 00:54:03,440 繰り返しますが、C言語でこれらを使用し、 これだけの種類の移行 1194 00:54:03,440 --> 00:54:06,050 以上のグラフィックインターフェースから 実際にコーディングします。 1195 00:54:06,050 --> 00:54:07,480 1196 00:54:07,480 --> 00:54:09,100 >> クールなので、大きなもの、もし。 1197 00:54:09,100 --> 00:54:11,130 1198 00:54:11,130 --> 00:54:17,070 基本的には紹介する私たちを可能にする 私たちのプログラムは、チェックにいくつかのロジック 1199 00:54:17,070 --> 00:54:17,790 SYS条件。 1200 00:54:17,790 --> 00:54:22,150 だから、この場合は、[OK]を、 0 nよりも大きい? 1201 00:54:22,150 --> 00:54:24,070 あなたがこれを実行できるので、はい、それは、ある。 1202 00:54:24,070 --> 00:54:28,060 それはちょうど、いくつかのチェックだ あなたがした条件 1203 00:54:28,060 --> 00:54:33,565 私たちはすべてだと思うセット、 条件をチェックすることに慣れて。 1204 00:54:33,565 --> 00:54:35,975 1205 00:54:35,975 --> 00:54:36,475 涼しい。 1206 00:54:36,475 --> 00:54:38,760 1207 00:54:38,760 --> 00:54:44,530 だから、あなたの他の一つで、他の場合には、 これが本当であれば、あなたは、[OK]を言うことができ、 1208 00:54:44,530 --> 00:54:46,150 この最初のことを行う。 1209 00:54:46,150 --> 00:54:48,720 そうでなければ私はあなたがしたい デフォルトと何か他のものをやる。 1210 00:54:48,720 --> 00:54:51,977 1211 00:54:51,977 --> 00:54:55,060 この場合のように、次のいずれかを選ぶ 正の数または負の数。 1212 00:54:55,060 --> 00:54:56,500 あなただけの2つのオプションがあります。 1213 00:54:56,500 --> 00:54:59,550 あなたはそれに関係なく実行する必要があります どのようなユーザー入力の。 1214 00:54:59,550 --> 00:55:02,920 だから、うまく言うことができます それが0より大きい? 1215 00:55:02,920 --> 00:55:03,480 涼しい。 1216 00:55:03,480 --> 00:55:04,480 正の数を印刷します。 1217 00:55:04,480 --> 00:55:06,153 そうでない場合は、負を印刷します。 1218 00:55:06,153 --> 00:55:06,960 みんな良い? 1219 00:55:06,960 --> 00:55:14,920 >> その後認識する一つのことである もし条件が満たされた場合に、 1220 00:55:14,920 --> 00:55:16,650 他にも、実行することはありません。 1221 00:55:16,650 --> 00:55:19,210 一つだけこれらの意志の 一度に実行されます。 1222 00:55:19,210 --> 00:55:20,410 だから、トレードオフだ。 1223 00:55:20,410 --> 00:55:21,720 あなたは両方を持って得ることはありません。 1224 00:55:21,720 --> 00:55:23,566 あなたは、どちらか最初の条件を持っている。 1225 00:55:23,566 --> 00:55:25,440 あなたはどちらかあれば持っている あるいは、両方ではない。 1226 00:55:25,440 --> 00:55:26,849 1227 00:55:26,849 --> 00:55:28,890 その後ものを作ることができ さらに複雑、 1228 00:55:28,890 --> 00:55:31,060 もしあなたがすることができるので、 そうでなければ、次に他。 1229 00:55:31,060 --> 00:55:32,810 我々は、この場合はそう 三つの条件を持っている。 1230 00:55:32,810 --> 00:55:34,830 1231 00:55:34,830 --> 00:55:38,370 そして再び、これらの一方のみである 実行されてしまうだろう。 1232 00:55:38,370 --> 00:55:41,030 だから、不思議に思われるかもしれません よく、何もし 1233 00:55:41,030 --> 00:55:45,510 その何かを持っている これらのうちの2つを満たすことができる。 1234 00:55:45,510 --> 00:55:49,520 たぶん、あなたは入力している何でも 条件の両方を満たしている 1235 00:55:49,520 --> 00:55:51,811 のためのifとelse場合。 1236 00:55:51,811 --> 00:55:53,060 実行するために起こっている唯一のもの 1237 00:55:53,060 --> 00:55:56,240 >> アリソン:否や、それが何かを見つけると そのための条件を満たしていること 1238 00:55:56,240 --> 00:55:59,790 trueに評価され、それは何ですか それが実行されておらず、他には何になるだろう。 1239 00:55:59,790 --> 00:56:04,440 あなたが持っていたのであれば、この数である あなたの最初の1のために0〜5、 1240 00:56:04,440 --> 00:56:10,530 または3の間のこの数である とelseのための5パーツであれば、 1241 00:56:10,530 --> 00:56:15,550 あなたが入力number-- 私は0と5 and-- 4と述べた。 1242 00:56:15,550 --> 00:56:18,110 これは、最初のものを打つために起こっている。 1243 00:56:18,110 --> 00:56:20,960 これは、[OK]を、これを言うために起こっている 番号は、0と5の間である。 1244 00:56:20,960 --> 00:56:22,480 実行しておきます。 1245 00:56:22,480 --> 00:56:25,340 それは、その第二の選択肢を打つことは決してありません。 1246 00:56:25,340 --> 00:56:26,394 クール? 1247 00:56:26,394 --> 00:56:27,250 恐ろしい。 1248 00:56:27,250 --> 00:56:31,300 >> [OK]を、我々はまた、スイッチif文を持っている あなたは、さえmore--または気の毒取得したい 1249 00:56:31,300 --> 00:56:31,965 スイッチが隣にあります。 1250 00:56:31,965 --> 00:56:33,540 1251 00:56:33,540 --> 00:56:34,990 私はここで先に自分の取得しています。 1252 00:56:34,990 --> 00:56:36,370 1253 00:56:36,370 --> 00:56:39,210 ここでも、複数のブロックの場合 どこで私が今言ったように 1254 00:56:39,210 --> 00:56:45,600 とすぐに条件を見出すようです 他にあれば、他の場合には、会ったとANだ 1255 00:56:45,600 --> 00:56:46,630 それは残します。 1256 00:56:46,630 --> 00:56:49,560 あなたがチェックする必要がある場合 複数のもの、あなたがしている 1257 00:56:49,560 --> 00:56:53,000 この理由を使いたいだろう それがここに毎回チェックします。 1258 00:56:53,000 --> 00:56:58,060 だから、これは通過した場合に実行されます それは、90以上の 1259 00:56:58,060 --> 00:56:59,160 それはそれを印刷するために起こっている。 1260 00:56:59,160 --> 00:57:00,530 1261 00:57:00,530 --> 00:57:03,600 そして、それはを通して実行され、 これらのすべての単一の1をご確認ください。 1262 00:57:03,600 --> 00:57:06,444 >> 読者:だから、これは次のようになります [聞こえない]以上のバギー。 1263 00:57:06,444 --> 00:57:07,735 これは[聞こえない]のようになるでしょうか? 1264 00:57:07,735 --> 00:57:10,990 1265 00:57:10,990 --> 00:57:15,740 >> アリソン:質問はこれは次のようになりますされている バギーまたはこれはあなたがやりたいん。 1266 00:57:15,740 --> 00:57:19,830 それは実際にどのように依存します あなたのプログラムから欲しい。 1267 00:57:19,830 --> 00:57:22,291 >> 読者:私はあなたが90を入れた場合のように意味します。 1268 00:57:22,291 --> 00:57:23,290 アリソン:あなたが置く場合90-- 1269 00:57:23,290 --> 00:57:24,206 読者:[聞こえない]。 1270 00:57:24,206 --> 00:57:25,584 1271 00:57:25,584 --> 00:57:27,250 GABRIEL:あなたは二つのことを取得するつもりだ。 1272 00:57:27,250 --> 00:57:28,916 アリソン:あなたは二つのことを取得するつもりだ。 1273 00:57:28,916 --> 00:57:29,420 はい、2。 1274 00:57:29,420 --> 00:57:32,420 1275 00:57:32,420 --> 00:57:33,920 >> ロブ·ボウデン:二つ? 1276 00:57:33,920 --> 00:57:34,580 >> アリソン:いいえ。 1277 00:57:34,580 --> 00:57:35,288 >> ロブ·ボウデン:四つ。 1278 00:57:35,288 --> 00:57:37,070 1279 00:57:37,070 --> 00:57:40,070 あなたは90を配置する場合、それはあなたを言うことになるだろう A持って、あなたは、あなたがCを得た、Bを得た 1280 00:57:40,070 --> 00:57:40,545 あなたはDを得た 1281 00:57:40,545 --> 00:57:41,461 >> 読者:[聞こえない]。 1282 00:57:41,461 --> 00:57:42,196 1283 00:57:42,196 --> 00:57:42,820 アリソン:右。 1284 00:57:42,820 --> 00:57:44,778 だから私は何に依存します あなたのプログラムから欲しい。 1285 00:57:44,778 --> 00:57:47,050 時には、あなたがする必要がある に複数のことを確認してください。 1286 00:57:47,050 --> 00:57:49,970 1287 00:57:49,970 --> 00:57:55,270 あなたは何にはるかに深い得るで​​しょう あなたが前に進むように優れた設計です。 1288 00:57:55,270 --> 00:57:57,090 に重要なこと リアライズはこのことです 1289 00:57:57,090 --> 00:58:01,090 ここにすべての4つの条件をチェックします。 1290 00:58:01,090 --> 00:58:05,860 他にあれば、これがあれば誰であったかどうに対し、 他の場合には、その最初のケースに当たるであろう 1291 00:58:05,860 --> 00:58:07,950 それはあなたがAを持って行って印刷することになる。 1292 00:58:07,950 --> 00:58:10,250 >> ロブ·ボウデン:でも私たちの場合 場合にこれを変更することを決めた 1293 00:58:10,250 --> 00:58:13,880 そして以上90に等しく、 ifおよび以上80に等しい 1294 00:58:13,880 --> 00:58:19,710 そして以下89に等しく、もし nより大きいまたは70に等しい 1295 00:58:19,710 --> 00:58:23,830 そしてn以下 79、その結果が正しくなります。 1296 00:58:23,830 --> 00:58:27,190 それは我々がやりたいんが、 それはまだそれ一つ一つをチェックします。 1297 00:58:27,190 --> 00:58:34,050 >> 最初のシナリオのに対して、もしそうであれば、私たち ただ、他の場合、他の場合であれば90を入力し、 1298 00:58:34,050 --> 00:58:37,300 そして我々は、その後、90を入力してください それは修正するために起こっている。 1299 00:58:37,300 --> 00:58:39,615 それは最初にチェックします 1、あなたはAを得た印刷物、 1300 00:58:39,615 --> 00:58:42,590 それから、すべてのものをスキップ すでに動作するものを見つけました。 1301 00:58:42,590 --> 00:58:46,360 すべての場合には、相互に排他的である もし他にあれば、他の場合に基づく。 1302 00:58:46,360 --> 00:58:48,630 だから、実行します 最初にあれば、それは完了です。 1303 00:58:48,630 --> 00:58:49,790 それは、最後まで行くよ。 1304 00:58:49,790 --> 00:58:52,400 >> 私たちが変更した場合に対し、 これは私が何であったかであることが 1305 00:58:52,400 --> 00:58:54,204 89以下と言う。 1306 00:58:54,204 --> 00:58:55,620 これは、最初のものをチェックするために起こっている。 1307 00:58:55,620 --> 00:58:56,560 これは、印刷します。 1308 00:58:56,560 --> 00:58:58,010 なお、第2つをチェックします。 1309 00:58:58,010 --> 00:58:59,010 これは、印刷するつもりはない。 1310 00:58:59,010 --> 00:58:59,910 第三のいずれかを確認してください。 1311 00:58:59,910 --> 00:59:00,620 印刷するつもりはありません。 1312 00:59:00,620 --> 00:59:01,495 第四のいずれかを確認してください。 1313 00:59:01,495 --> 00:59:02,420 これで印刷する予定。 1314 00:59:02,420 --> 00:59:05,380 もし他には、その場合にはそう これらのケース以来バージョン、 1315 00:59:05,380 --> 00:59:09,120 相互に排他的である、それはだ 他にあれば、他の場合には、より良い、場合に使用 1316 00:59:09,120 --> 00:59:12,970 それは持っているつもりされているため、 条件の少ないチェック 1317 00:59:12,970 --> 00:59:14,750 このバージョンより。 1318 00:59:14,750 --> 00:59:17,692 1319 00:59:17,692 --> 00:59:18,400 アリソン:恐ろしい。 1320 00:59:18,400 --> 00:59:20,580 だから、別の事我々はできる やるswitch文である。 1321 00:59:20,580 --> 00:59:23,104 1322 00:59:23,104 --> 00:59:25,270 基本的にはswitchステートメント いくつかの変数にとり、 1323 00:59:25,270 --> 00:59:28,780 この場合にはn個だし、 実行するために、その場合を決定します。 1324 00:59:28,780 --> 00:59:33,106 だから、これは1つの場所、あなたのケースもある 種類の相互に排他的である必要があります。 1325 00:59:33,106 --> 00:59:35,210 1326 00:59:35,210 --> 00:59:37,940 この場合、もしそうであれば 私たちは1つが、それはだ取得 1327 00:59:37,940 --> 00:59:42,270 何と一致するようにしよう variable--、nの値にかかわらず 1328 00:59:42,270 --> 00:59:48,700 これらの場合のいずれかのため、1、2、または 3、および対応するラインをプリントアウト。 1329 00:59:48,700 --> 00:59:51,870 >> そして、あなたがここに気づいた場合、 我々はまた、デフォルト値を持っている、 1330 00:59:51,870 --> 00:59:54,670 これあなたが他のように考えるのができます。 1331 00:59:54,670 --> 00:59:58,510 だから、他の番号を選ぶ場合は、 この場合には1、2、および3に加えて 1332 00:59:58,510 --> 00:59:59,885 それだけで無効な印刷になるだろう。 1333 00:59:59,885 --> 01:00:03,690 1334 01:00:03,690 --> 01:00:08,390 対IFSを使用する際の決定 スイッチ対よそ場合に起こっている 1335 01:00:08,390 --> 01:00:12,590 その君たちが何かすべき あなたが書き込みを開始として賢明な設計を参照してください。 1336 01:00:12,590 --> 01:00:15,270 より複雑なプログラム、および 全くハードと高速のルールがありません 1337 01:00:15,270 --> 01:00:16,330 のときにそれらを使用する。 1338 01:00:16,330 --> 01:00:17,890 それは本当にあなたのコンテキストに依存します。 1339 01:00:17,890 --> 01:00:18,590 >> ロブ·ボウデン:そして、ちょうど そこにそれをスローする 1340 01:00:18,590 --> 01:00:20,131 それはより快適な部分であるからである。 1341 01:00:20,131 --> 01:00:20,920 1342 01:00:20,920 --> 01:00:25,053 スイッチは、彼らがする傾向がある be--ので、あなたが制限されている 1343 01:00:25,053 --> 01:00:27,430 いくつかの方法で、あなた IFSので、それらを使用することができ、 1344 01:00:27,430 --> 01:00:30,100 条件はかなりすることができ あなたが望む多くのもの。 1345 01:00:30,100 --> 01:00:33,410 スイッチケース付き 数字でなければならない、 1346 01:00:33,410 --> 01:00:37,770 または技術的に彼らは文字であることができるが、 私達が見るよう文字は、数字だけです。 1347 01:00:37,770 --> 01:00:44,250 そこで、彼らは数字が、スイッチでなければならない 場合よりも本当により効率的である 1348 01:00:44,250 --> 01:00:50,060 他にあればそれ以外であれば、理由さえ before--よく例にとると、 1349 01:00:50,060 --> 01:00:51,486 グレードの例が良いようです。 1350 01:00:51,486 --> 01:00:52,550 1351 01:00:52,550 --> 01:00:57,080 >> まあ我々が代わりにやる、のがここで言わせて このシナリオであれば誰かの他にいるかのように。 1352 01:00:57,080 --> 01:01:00,930 nが等しいのであれば1に等しく、 あなたが低い数字を選んで印刷。 1353 01:01:00,930 --> 01:01:04,490 、nが2に等しい等しい場合、他の場合 あなたは媒体番号を選んだ。 1354 01:01:04,490 --> 01:01:06,550 等号が3に等しい場合、他の、高い。 1355 01:01:06,550 --> 01:01:08,060 他に無効。 1356 01:01:08,060 --> 01:01:09,820 >> それでは、それが私たちのシナリオだったとしましょう​​。 1357 01:01:09,820 --> 01:01:14,060 それでは、私たちが入るとしましょう 図4に示すように、私たちは、無効期待しています。 1358 01:01:14,060 --> 01:01:17,410 道ほかの場合であれば、他のこと アプローチは、仕事に行くされている場合である 1359 01:01:17,410 --> 01:01:18,740 最初の条件をチェックします。 1360 01:01:18,740 --> 01:01:19,776 それは満足していないのです。 1361 01:01:19,776 --> 01:01:21,150 だから我々は第二の条件をご確認ください。 1362 01:01:21,150 --> 01:01:21,940 それは満足していないのです。 1363 01:01:21,940 --> 01:01:23,023 第3の条件を確認してください。 1364 01:01:23,023 --> 01:01:23,640 満足していない。 1365 01:01:23,640 --> 01:01:26,650 だから我々は、他に行くと印刷無効。 1366 01:01:26,650 --> 01:01:30,169 >> ウェイスイッチの作品 それがダウンしてコンパイルされている 1367 01:01:30,169 --> 01:01:31,960 私たちが行っているものに ジャンプテーブルを呼び出します。 1368 01:01:31,960 --> 01:01:33,180 1369 01:01:33,180 --> 01:01:37,120 主なアイデアの幸福 あなたは4を入力したときに、 1370 01:01:37,120 --> 01:01:39,090 それはすぐにデフォルトに行くことができます。 1371 01:01:39,090 --> 01:01:41,460 これは、午前Iのケース1をチェックする必要がないのですか? 1372 01:01:41,460 --> 01:01:42,350 いや、それはそれではありません。 1373 01:01:42,350 --> 01:01:42,850 ケース2? 1374 01:01:42,850 --> 01:01:43,240 いや。 1375 01:01:43,240 --> 01:01:43,770 ケース3? 1376 01:01:43,770 --> 01:01:44,270 いや。 1377 01:01:44,270 --> 01:01:45,090 デフォルト。 1378 01:01:45,090 --> 01:01:47,610 [OK]を、これは私がどこにある必要があります 欲しいし、次にそれを実行します。 1379 01:01:47,610 --> 01:01:49,590 いいえ、それはすぐにデフォルトにジャンプします。 1380 01:01:49,590 --> 01:01:51,900 それとも、私はそれがだ、2を入力してください すぐに2に行くつもり 1381 01:01:51,900 --> 01:01:54,060 ケース1を通過する必要なし。 1382 01:01:54,060 --> 01:01:57,820 >> だから、そのようにして、 現実的に、今日のこと 1383 01:01:57,820 --> 01:02:00,250 効率ゲインのそれほどではない。 1384 01:02:00,250 --> 01:02:02,880 通常のコンピュータがかなりある 速く、そしてそれは、その素晴らしいではありません。 1385 01:02:02,880 --> 01:02:07,270 しかし、それはケースがある スイッチが高速です。 1386 01:02:07,270 --> 01:02:10,380 あなたが本当にしようとしている場合 最適化するため、スイッチを使用します。 1387 01:02:10,380 --> 01:02:11,980 1388 01:02:11,980 --> 01:02:12,710 >> アリソン:クール。 1389 01:02:12,710 --> 01:02:15,270 そして、我々は、三項演算子を持っている。 1390 01:02:15,270 --> 01:02:19,470 だから私は、私は先に述べた知っている 単語シンタックスシュガー。 1391 01:02:19,470 --> 01:02:24,160 だから、それだけで作るものだ ずっと簡潔なあなたのコード。 1392 01:02:24,160 --> 01:02:25,590 だから、これはこれらのケースの一つです。 1393 01:02:25,590 --> 01:02:31,430 >> だから、三項演算子は、疑問符です 私たちは行の文字列に見るように、コロン 1394 01:02:31,430 --> 01:02:35,810 sは100 nよりも大きい等しい 疑問符高コロン低い。 1395 01:02:35,810 --> 01:02:41,800 だから、基本的にはこれがどのように機能するか、それがだです 100より大きいnが条件である。 1396 01:02:41,800 --> 01:02:43,674 だから私は、それが意味をなすことができると思います。 1397 01:02:43,674 --> 01:02:44,840 それは質問をするようなものだ。 1398 01:02:44,840 --> 01:02:47,320 それは、ああ、nは100以上であると言っています。 1399 01:02:47,320 --> 01:02:48,340 誰が知っている? 1400 01:02:48,340 --> 01:02:50,750 そしてそれが評価された場合 真、それはあなたを与えるために起こっている 1401 01:02:50,750 --> 01:02:54,270 だ最初の事 ハイである、そこに記載されている。 1402 01:02:54,270 --> 01:02:55,840 そうでなければそれはあなたが低与えるために起こっている。 1403 01:02:55,840 --> 01:03:01,210 だから、これは本当に簡単で、 もし他に好きにする効率的な方法。 1404 01:03:01,210 --> 01:03:02,780 それはすべて、これがあるのです。 1405 01:03:02,780 --> 01:03:07,450 >> そして、我々はこれを書いした場合 、else条件かのように 1406 01:03:07,450 --> 01:03:12,480 nが大きければ、それは次のようになります 100よりも、高返す。 1407 01:03:12,480 --> 01:03:14,220 そうでなければ、低返す。 1408 01:03:14,220 --> 01:03:17,570 これはちょうどずっとある それを書くの簡潔な方法。 1409 01:03:17,570 --> 01:03:27,090 >> ロブ·ボウデン:だから、この特定の例 あなたが何かをやっているときはいつでもある 1410 01:03:27,090 --> 01:03:30,190 このように、これはパターンです どこで私は非常に頻繁に三元を使用しています。 1411 01:03:30,190 --> 01:03:31,540 1412 01:03:31,540 --> 01:03:35,460 だから我々は、まだスコープについて話していない 私は、文字列sセミコロンを見て嫌い。 1413 01:03:35,460 --> 01:03:39,150 nは100より大きい場合は、sが高い等しい。 1414 01:03:39,150 --> 01:03:40,660 そうでなければ、sは低い等しい。 1415 01:03:40,660 --> 01:03:45,070 だから、そのパターンは、これらの5行 コー​​ドの文字通り100%の時間 1416 01:03:45,070 --> 01:03:49,800 どのように導入することができる 三元系とそこまでだった。 1417 01:03:49,800 --> 01:03:52,340 だから三、コードの1行。 1418 01:03:52,340 --> 01:03:54,640 それ以外の場合、5。 1419 01:03:54,640 --> 01:03:56,910 それは私が指摘例です ひとつひとつのタイムアウト。 1420 01:03:56,910 --> 01:03:59,250 これだろう素晴らしい場所 三項演算子のために。 1421 01:03:59,250 --> 01:04:00,647 それはとてもきれいなのです。 1422 01:04:00,647 --> 01:04:01,980 しかし、人々はそれを使用しない傾向にある。 1423 01:04:01,980 --> 01:04:06,140 1424 01:04:06,140 --> 01:04:08,030 >> アリソン:ゲイブそれを奪う。 1425 01:04:08,030 --> 01:04:11,110 >> GABRIEL:だから今君たちすべて 今週の講義で学んだ 1426 01:04:11,110 --> 01:04:13,420 でそのすべてのもの コンピュータが右、バイナリです? 1427 01:04:13,420 --> 01:04:14,570 ちょうどここのランプのような。 1428 01:04:14,570 --> 01:04:16,492 次のいずれかをオンとオフにすることができる。 1429 01:04:16,492 --> 01:04:18,450 そしてすべてのものによって、私は意味 文字通りすべてのもの。 1430 01:04:18,450 --> 01:04:24,272 いくつかの数字、文字、および文字列、 そしてあなたが書いたコードであっても 1431 01:04:24,272 --> 01:04:26,480 それがマシンにコンパイルされる そのようなコードとか、 1432 01:04:26,480 --> 01:04:29,230 そうそれはすべて0と1」に帰着する。 1433 01:04:29,230 --> 01:04:34,540 >> そして私たちが扱っているとき 整数と、その 1434 01:04:34,540 --> 01:04:38,000 非常に技術的にだものです 単純な、私たちはものを行うことができるはずです 1435 01:04:38,000 --> 01:04:40,630 である、それらを追加するように おそらく最も簡単なものの一つ 1436 01:04:40,630 --> 01:04:42,300 あなたは正しい、二つの整数に行うことができますか? 1437 01:04:42,300 --> 01:04:47,410 だから、足し算と引き算だけで動作します それが十進表記で働くように、 1438 01:04:47,410 --> 01:04:50,780 ここを除いて、それは右、バイナリですか? 1439 01:04:50,780 --> 01:04:52,090 だから、ベース2にあります。 1440 01:04:52,090 --> 01:04:54,070 だから、1プラス1を追加します。 1441 01:04:54,070 --> 01:04:57,020 つまり、0を与え、1が引き継がれる。 1442 01:04:57,020 --> 01:05:01,335 そして、ちょうどだから今、それをやり続ける より興味深い質問が来る。 1443 01:05:01,335 --> 01:05:03,730 1444 01:05:03,730 --> 01:05:07,710 >> 我々は、すべてを表現する方法を知っている コンピュータ内の正の整数 1445 01:05:07,710 --> 01:05:09,870 しかし、それではこの練習してみましょう。 1446 01:05:09,870 --> 01:05:15,240 君たちは、すべて1960年であるふりをするか、 何かが、コンピュータを作成しよう 1447 01:05:15,240 --> 01:05:19,950 あなたがから来ている マイナス1を格納する方法、 1448 01:05:19,950 --> 01:05:22,554 例えば、またはマイナス そのことについては整数。 1449 01:05:22,554 --> 01:05:23,470 あなたはそれをどのように行うのでしょうか? 1450 01:05:23,470 --> 01:05:27,820 1451 01:05:27,820 --> 01:05:29,220 任意のアイデア? 1452 01:05:29,220 --> 01:05:31,302 ちょうど私に何かを投げる。 1453 01:05:31,302 --> 01:05:32,264 はい? 1454 01:05:32,264 --> 01:05:39,480 >> 読者:[聞こえない]を指定 特別なあなたの[聞こえない]場合。 1455 01:05:39,480 --> 01:05:42,590 >> GABRIEL:あなたが指定することができます 0または1になる特別なビット、。 1456 01:05:42,590 --> 01:05:45,590 それはポジティブだ場合にはのが1つを言ってみましょう そして0それは負だ場合。 1457 01:05:45,590 --> 01:05:48,171 その後ビットの残りの部分 ほんの数を格納するれる。 1458 01:05:48,171 --> 01:05:48,670 涼しい。 1459 01:05:48,670 --> 01:05:49,990 だから、非常に良いアイデアです。 1460 01:05:49,990 --> 01:05:51,550 私たちは、私にはわからない、200を持っている。 1461 01:05:51,550 --> 01:05:54,720 第1ビットである場合 オンになって、それがだプラス200。 1462 01:05:54,720 --> 01:05:57,270 それがオフになった場合は、200マイナス。 1463 01:05:57,270 --> 01:05:58,380 涼しい。 1464 01:05:58,380 --> 01:06:01,350 >> 唯一の小さなものがある これに伴う問題、 1465 01:06:01,350 --> 01:06:05,370 その私たちは物事を総括しようとした場合である。 1466 01:06:05,370 --> 01:06:18,910 だから我々はここに11111を持って想像して、 私たちは00100何でこれを合計することだ。 1467 01:06:18,910 --> 01:06:21,630 これら二つが陽性である場合、それは大丈夫です。 1468 01:06:21,630 --> 01:06:24,470 しかし、その後であれば1の それらは次のように、負である 1469 01:06:24,470 --> 01:06:27,410 それではここで、このビットとしましょう 受け持つものである 1470 01:06:27,410 --> 01:06:31,390 私はseparate--を作るつもりだfor-- ので、この1はここで、この数を意味する 1471 01:06:31,390 --> 01:06:31,970 正である。 1472 01:06:31,970 --> 01:06:34,450 この1は、このことを意味します ここ数は右、負のでしょうか? 1473 01:06:34,450 --> 01:06:37,010 >> しかし、その後、あなたがいるとき それらを合計するつもりは、あなた 1474 01:06:37,010 --> 01:06:40,180 if文が必要です これが0の場合はああ言っ 1475 01:06:40,180 --> 01:06:43,479 その後、私の合計は次のようになります 何か違うよね? 1476 01:06:43,479 --> 01:06:45,270 だから、少しあります 行うにはもっと賢い方法 1477 01:06:45,270 --> 01:06:48,520 2の補数と呼ばれる、その。 1478 01:06:48,520 --> 01:06:52,350 そこで、基本的に私たち やる我々は定義されているマイナス1 1479 01:06:52,350 --> 01:06:57,250 もしその事であると 私たちは私たちに0を与え1まで追加。 1480 01:06:57,250 --> 01:06:59,470 1481 01:06:59,470 --> 01:07:00,860 私はそれを繰り返してみましょう。 1482 01:07:00,860 --> 01:07:03,280 それでは、ここで、これは1であるとしましょう​​。 1483 01:07:03,280 --> 01:07:08,110 1484 01:07:08,110 --> 01:07:13,570 そのことは何ですか 自然に正の整数で 1485 01:07:13,570 --> 01:07:15,570 それに私たちに0を与え追加? 1486 01:07:15,570 --> 01:07:19,150 1487 01:07:19,150 --> 01:07:21,030 私たちは、この番号に追加しようとすると? 1488 01:07:21,030 --> 01:07:22,830 1489 01:07:22,830 --> 01:07:28,032 私たちは、それでは追加してみましょう、OK have--するつもりだ。 1490 01:07:28,032 --> 01:07:32,820 1491 01:07:32,820 --> 01:07:38,065 私たちは、1プラス1を持っているつもりだ 0であり、そしてそれが引き継がれる。 1492 01:07:38,065 --> 01:07:40,160 1493 01:07:40,160 --> 01:07:45,490 そして、我々は再び0を取得するつもりだ。 1494 01:07:45,490 --> 01:07:47,730 1495 01:07:47,730 --> 01:07:48,820 私は混乱して取得しています。 1496 01:07:48,820 --> 01:07:51,670 そして、あなたは0とを取得するつもりだ 0 0 0 0 0。 1497 01:07:51,670 --> 01:07:52,450 0がたくさん。 1498 01:07:52,450 --> 01:07:56,240 >> つの非常に最後に、私たちではない それを上に運ぶことができることになるだろう、 1499 01:07:56,240 --> 01:07:59,614 レッツは、我々は唯一扱っていると言うので、 1バイトなので、8ビットのみと。 1500 01:07:59,614 --> 01:08:02,780 だから、コンピュータは、デフォルトでは何をするか ちょうどそれについて忘れては、[聞こえない]です 1501 01:08:02,780 --> 01:08:03,279 OK? 1502 01:08:03,279 --> 01:08:04,530 1503 01:08:04,530 --> 01:08:06,880 だから、これはと呼ばれるものである 2の補数。 1504 01:08:06,880 --> 01:08:15,180 我々は、単にあることがマイナス1を定義する 事ここにあなたが1にそれを追加した場合いること 1505 01:08:15,180 --> 01:08:15,995 あなたに0を与えるだろう。 1506 01:08:15,995 --> 01:08:17,609 1507 01:08:17,609 --> 01:08:20,180 そして、それはかなりクールだ 私たちは本当にありませんので 1508 01:08:20,180 --> 01:08:24,090 実装する必要が遅く 和の異なるタイプ 1509 01:08:24,090 --> 01:08:26,590 それはだかどうかに応じて 負または正の数。 1510 01:08:26,590 --> 01:08:27,465 それは理にかなっていますか? 1511 01:08:27,465 --> 01:08:28,740 1512 01:08:28,740 --> 01:08:32,370 >> だから我々が行う一つのことは、 ここに変換するために 1513 01:08:32,370 --> 01:08:38,550 正と負の間で 整数はその後、我々は、すべてのものを反転さ 1514 01:08:38,550 --> 01:08:40,930 その後、我々はその数に1を加える。 1515 01:08:40,930 --> 01:08:43,140 あなたはそれを自分でやろうとする場合 紙に、 1516 01:08:43,140 --> 01:08:44,681 あなたはそれが理にかなって見ることになるだろう。 1517 01:08:44,681 --> 01:08:51,000 しかし、私はこの数を取る場合 ここで、これは5である。 1518 01:08:51,000 --> 01:08:54,859 だから私はすべてのものを反転した場合 ここでは、そのように1、1、1、1、1。 1519 01:08:54,859 --> 01:08:55,880 1520 01:08:55,880 --> 01:08:57,830 フリップ、フリップ、フリップ。 1521 01:08:57,830 --> 01:09:00,130 そして私はそれに1を加える。 1522 01:09:00,130 --> 01:09:02,750 私は正確にマイナス5持っているつもりです。 1523 01:09:02,750 --> 01:09:03,250 OK? 1524 01:09:03,250 --> 01:09:06,220 >> これは一種の理にかなっているかの理由 あなたは数字でこれを合計しよう 1525 01:09:06,220 --> 01:09:10,229 我々は、以前に持っていたこと それでは、再びこれを反転させてwas--。 1526 01:09:10,229 --> 01:09:12,999 これは、101と0のたくさんあった。 1527 01:09:12,999 --> 01:09:13,795 1528 01:09:13,795 --> 01:09:15,670 あなたはこれらを追加しよう 2つの数値、 1529 01:09:15,670 --> 01:09:16,961 あなたは正確に0を持っているつもりです。 1530 01:09:16,961 --> 01:09:18,920 1531 01:09:18,920 --> 01:09:19,460 [OK]をクリックします。 1532 01:09:19,460 --> 01:09:19,884 どの質問? 1533 01:09:19,884 --> 01:09:20,759 >> 読者:[聞こえない] 1534 01:09:20,759 --> 01:09:25,790 1535 01:09:25,790 --> 01:09:27,280 >> GABRIEL:あなたは何を意味するのですか? 1536 01:09:27,280 --> 01:09:29,240 >> 聴衆:負へ ポジティブ[聞こえない]。 1537 01:09:29,240 --> 01:09:33,215 >> GABRIEL:いいえ、あなたはフリップ そして、あなたは常に1を追加します。 1538 01:09:33,215 --> 01:09:34,081 1539 01:09:34,081 --> 01:09:34,580 うん。 1540 01:09:34,580 --> 01:09:36,910 1541 01:09:36,910 --> 01:09:39,680 [OK]を、また、符号化されたバイナリ文字がそう。 1542 01:09:39,680 --> 01:09:42,649 私たちはあなたのように、アスキーテーブルを持っている また、右、講義で見た? 1543 01:09:42,649 --> 01:09:45,040 だから、基本的に物事のマッピングです。 1544 01:09:45,040 --> 01:09:50,960 そしてここで私は十分に強調することはできません コンピュータ、a及び65のそれ 1545 01:09:50,960 --> 01:09:52,770 文字通り同じものです。 1546 01:09:52,770 --> 01:10:03,430 だから私がchar cのようなものを書く場合 、私は同時にできたに等しい 1547 01:10:03,430 --> 01:10:06,890 ちょうどここに65を書き、それを [OK]を、全く同じでしょうか? 1548 01:10:06,890 --> 01:10:08,470 全く違いはありません。 1549 01:10:08,470 --> 01:10:12,420 >> 我々は通常置く傾向にある 型の変数内の文字。 1550 01:10:12,420 --> 01:10:16,770 シャア、彼らは基本的にしているではないので、 そのために作られたが、理由 1551 01:10:16,770 --> 01:10:18,050 人間大会の。 1552 01:10:18,050 --> 01:10:22,410 しかし、あなたはちょうど整数を扱うことができる 代わりに、char型の変数の、 1553 01:10:22,410 --> 01:10:23,490 そしてあなたは大丈夫です。 1554 01:10:23,490 --> 01:10:28,410 唯一の実際の差 char型cとint型のi間 1555 01:10:28,410 --> 01:10:31,960 intは、ほとんどの4つのバイトを有することである システムでは、charは1バイトを有している。 1556 01:10:31,960 --> 01:10:33,070 1557 01:10:33,070 --> 01:10:35,460 彼らは基本的にしている データの面でも同じこと。 1558 01:10:35,460 --> 01:10:36,990 1559 01:10:36,990 --> 01:10:37,990 それでは、ここで印刷されます? 1560 01:10:37,990 --> 01:10:43,780 ここでは、printfのを使って数字を印刷している プラス1、ちょうど整数など、 1561 01:10:43,780 --> 01:10:46,240 文字はそう、要約することができます 文字も合算することができる。 1562 01:10:46,240 --> 01:10:47,890 だから、これはまさに65です。 1563 01:10:47,890 --> 01:10:49,950 そうであるように起こっている 66、そして、ここで我々が​​持っている 1564 01:10:49,950 --> 01:10:56,860 65プラス少しマイナスビッグA、 されるであろう、私は本当にわからない。 1565 01:10:56,860 --> 01:11:00,900 しかし、それは正確にギャップになります 大文字の間 1566 01:11:00,900 --> 01:11:07,800 と小さい文字なので、 我々は正しい、小さなAを取得するつもりだ? 1567 01:11:07,800 --> 01:11:08,300 うん。 1568 01:11:08,300 --> 01:11:11,740 だから、これは印刷するために起こっている まさにこの1である文字。 1569 01:11:11,740 --> 01:11:12,260 グッド? 1570 01:11:12,260 --> 01:11:12,860 どの質問? 1571 01:11:12,860 --> 01:11:16,320 1572 01:11:16,320 --> 01:11:19,430 >> ここでは、異なるの束を持っている 数値変数の型。 1573 01:11:19,430 --> 01:11:20,620 我々はすでにint型の話。 1574 01:11:20,620 --> 01:11:21,740 1575 01:11:21,740 --> 01:11:27,760 フロートは、これは本当にあるto--だけの方法である おかしい、私が最初に知ったときのため 1576 01:11:27,760 --> 01:11:32,320 一日にはズームインプログラムする Pythonで、最初のプログラム今まで私 1577 01:11:32,320 --> 01:11:37,480 書き込もうとしました、私はそこにいたことを見た で呼ばれるタイプとフロートと呼ばれるタイプ。 1578 01:11:37,480 --> 01:11:39,800 フロートは、すべての実数のためだった。 1579 01:11:39,800 --> 01:11:43,290 それでは私はなぜべきで尋ねた 私が今までそれからint型を使うのか? 1580 01:11:43,290 --> 01:11:45,590 私はすべてを使用できるかどうなぜなら フロート付き実数、 1581 01:11:45,590 --> 01:11:47,120 私はちょうど、int型の使用を停止するだろうか? 1582 01:11:47,120 --> 01:11:49,550 実数であるために はるかジェネリックのような。 1583 01:11:49,550 --> 01:11:51,820 1584 01:11:51,820 --> 01:11:54,060 >> これがあることが判明 コンピューターではない場合 1585 01:11:54,060 --> 01:11:58,480 彼らは本質的だから 異なった事。 1586 01:11:58,480 --> 01:12:01,470 整数と浮動小数点数なので、 あなたが彼らに何の操作 1587 01:12:01,470 --> 01:12:04,739 ので、本質的に異なっている それらが格納されている方法のため、OK? 1588 01:12:04,739 --> 01:12:07,280 私たちは、少し話をするつもりだ 第二にその詳細に​​ついて少し。 1589 01:12:07,280 --> 01:12:09,110 >> だから大きなフロートで倍増。 1590 01:12:09,110 --> 01:12:12,830 通常、ほとんどのシステムでは、フロート ちょうどint型のように、4バイトです。 1591 01:12:12,830 --> 01:12:15,440 とdoubleが8バイトである。 1592 01:12:15,440 --> 01:12:21,450 長い長い実際には単なる記号である あなたはint型のようなタイプに追加することを。 1593 01:12:21,450 --> 01:12:24,040 あなたは長い間、このようにint型に長いと言う。 1594 01:12:24,040 --> 01:12:28,550 長い長いint型のxは、もはやそれを作るために。 1595 01:12:28,550 --> 01:12:32,310 だから、ほとんどのシステムでは、それが得られます 8バイトの代わりに、通常の4。 1596 01:12:32,310 --> 01:12:35,620 そして、あなたは実際にドロップすることができます で、それだけで長い長いと言うことができますので、 1597 01:12:35,620 --> 01:12:37,240 それは[OK]を、あまりにも動作します? 1598 01:12:37,240 --> 01:12:42,850 また、のような他のことを行うことができます unsigned int型、または再び単に符号なし 1599 01:12:42,850 --> 01:12:43,680 また働くだろう。 1600 01:12:43,680 --> 01:12:49,370 そして、それは、xは変数でなければなるだろう すべてが正であるように、 1601 01:12:49,370 --> 01:12:53,231 だから、本当にネガティブを持つことができません 私たちがここまで見たように数字。 1602 01:12:53,231 --> 01:12:56,484 1603 01:12:56,484 --> 01:12:58,650 とても素晴らしい以下 点と精度浮動。 1604 01:12:58,650 --> 01:13:01,890 それはなぜあなたの理由の一つだ int型の代わりにフロートを使用したい、 1605 01:13:01,890 --> 01:13:04,370 int型は、100%正確で、右であるため? 1606 01:13:04,370 --> 01:13:06,170 それは、まさにその数だ。 1607 01:13:06,170 --> 01:13:11,910 フローティングポイントの場合、あなたなら 答えは1 10--の上に等しいと言う 1608 01:13:11,910 --> 01:13:14,690 私は正確なこれを持って起こる ここでは、プログラム、float.c。 1609 01:13:14,690 --> 01:13:16,390 1610 01:13:16,390 --> 01:13:19,420 つまり、20小数点以下の桁に出力します。 1611 01:13:19,420 --> 01:13:23,270 1 10で除し、その 通常、右、0.1ですか? 1612 01:13:23,270 --> 01:13:27,910 しかし、ここで私たちが行った場合 浮くし、我々はそれを実行し、 1613 01:13:27,910 --> 01:13:30,320 我々はそれが正確に0.1ではないことがわかります。 1614 01:13:30,320 --> 01:13:33,570 それは0.149何か。 1615 01:13:33,570 --> 01:13:35,570 >> そして、なぜそれがありますか? 1616 01:13:35,570 --> 01:13:40,390 あなたは本当に、すべてのを表すことができないので メモリ内の単一の可能な実数 1617 01:13:40,390 --> 01:13:42,730 存在するため それらの非可算多く。 1618 01:13:42,730 --> 01:13:48,360 だから我々は、技術的にのみできるしている それらの有限量を表す 1619 01:13:48,360 --> 01:13:50,470 データの有限量を持つ。 1620 01:13:50,470 --> 01:13:52,050 しかし、それは本当に面白いです。 1621 01:13:52,050 --> 01:13:54,920 さて、これは頼む どのようにでしょうかという問題 1622 01:13:54,920 --> 01:13:59,299 代表取り掛かる ビットで、この、右? 1623 01:13:59,299 --> 01:14:00,340 それでは、どの山車が格納されている? 1624 01:14:00,340 --> 01:14:01,970 1625 01:14:01,970 --> 01:14:03,730 整数で、それは簡単だった。 1626 01:14:03,730 --> 01:14:06,690 しかし、あなたがしたいフロート付き 範囲を最大にするには、 1627 01:14:06,690 --> 01:14:10,530 あなたが表現できるようにする 巨大な数字とのような非常に小さな数字 1628 01:14:10,530 --> 01:14:14,210 同時に0.000001。 1629 01:14:14,210 --> 01:14:15,180 だから、もう一度、同じゲーム。 1630 01:14:15,180 --> 01:14:20,470 どのように我々はできる誰もが任意のアイデアを持っていますか メモリ内のフロートを表すについて行く? 1631 01:14:20,470 --> 01:14:26,820 1632 01:14:26,820 --> 01:14:27,970 ちょうど何かを投げる。 1633 01:14:27,970 --> 01:14:29,930 1634 01:14:29,930 --> 01:14:30,856 はい、お願いします。 1635 01:14:30,856 --> 01:14:33,552 >> 読者:[聞こえない]と それは2つのintと1だった場合 1636 01:14:33,552 --> 01:14:36,890 が[聞こえない]と1幸福 小数点以下のすべて。 1637 01:14:36,890 --> 01:14:37,640 GABRIEL:OK、涼しい。 1638 01:14:37,640 --> 01:14:40,300 だから、二つの異なる整数。 1639 01:14:40,300 --> 01:14:45,260 あなたは12.45を持つことができ、その結果は12と45です。 1640 01:14:45,260 --> 01:14:45,890 ニース。 1641 01:14:45,890 --> 01:14:46,973 何を言おうとしてERE? 1642 01:14:46,973 --> 01:14:48,420 1643 01:14:48,420 --> 01:14:49,430 同じこと? 1644 01:14:49,430 --> 01:14:49,930 うん? 1645 01:14:49,930 --> 01:14:55,630 >> 読者:[聞こえない]表記 どこでベースを分離する。 1646 01:14:55,630 --> 01:14:58,910 >> GABRIEL:科学表記法、 うんそれは何が起こるか通常です。 1647 01:14:58,910 --> 01:15:01,350 だから、これは仮数と呼ばれるものである。 1648 01:15:01,350 --> 01:15:06,490 それは実際にあるものだ 番号、その後指数 1649 01:15:06,490 --> 01:15:08,780 右、カンマがあるだけでどこにあるのでしょうか? 1650 01:15:08,780 --> 01:15:13,720 だから、これは何かになるだろう フォーム1、2、3、4、5〜10倍の 1651 01:15:13,720 --> 01:15:15,000 マイナス4へ。 1652 01:15:15,000 --> 01:15:17,800 私はちょうど丁度、ええthat--実現。 1653 01:15:17,800 --> 01:15:23,372 その後マイナス4は、この図10は、ある カンマがOKであり、ここで定義するつもり? 1654 01:15:23,372 --> 01:15:24,330 ブラジルでは、我々は、カンマを使用しています。 1655 01:15:24,330 --> 01:15:26,795 ここであなたたちは、ドットを使用しています。 1656 01:15:26,795 --> 01:15:27,640 だから、ドット。 1657 01:15:27,640 --> 01:15:28,860 1658 01:15:28,860 --> 01:15:34,840 >> その後のことができますので、これは、クールです この男のあなたのビットの多くを焦点を合わせる 1659 01:15:34,840 --> 01:15:40,863 ここでは、仮数部に、その後、それがだ あなたの実際の精度になるだろう。 1660 01:15:40,863 --> 01:15:41,920 1661 01:15:41,920 --> 01:15:47,175 そして、あなたはどちら進数でこれを行うことができます またはバイナリベースのシステムである。 1662 01:15:47,175 --> 01:15:49,781 異なるがあります これを実装する方法。 1663 01:15:49,781 --> 01:15:50,280 質問? 1664 01:15:50,280 --> 01:15:55,918 1665 01:15:55,918 --> 01:15:56,418 はい? 1666 01:15:56,418 --> 01:15:57,508 1667 01:15:57,508 --> 01:15:59,841 読者:どのように多くの場所 小数[聞こえない]の後に? 1668 01:15:59,841 --> 01:16:05,240 1669 01:16:05,240 --> 01:16:12,610 >> GABRIEL:それは複雑な質問ですね、 それは決して本当に100パーセント正確なだから、 1670 01:16:12,610 --> 01:16:15,680 あなたがここに見るようにので、用 いくつかの数値は、100%正確である。 1671 01:16:15,680 --> 01:16:20,350 私たちはここに0.5を入れた場合、私は信じている、 それは、100%正確なものになるだろう。 1672 01:16:20,350 --> 01:16:22,220 それは0.500000になるだろう。 1673 01:16:22,220 --> 01:16:24,170 だから、その場合には、それは完璧です。 1674 01:16:24,170 --> 01:16:27,330 しかし、他の場合には、 それははるかに少ない完璧だ。 1675 01:16:27,330 --> 01:16:35,010 私の経験では、4つまでのように、 小数点以下5桁はかなり正確である。 1676 01:16:35,010 --> 01:16:38,300 あなたは二重を使用している場合、それがために起こっている [OK]を、それよりも道より正確には? 1677 01:16:38,300 --> 01:16:42,750 >> ロブ·ボウデン:だからスローする 山車でいくつかのより多くのコンテキスト、 1678 01:16:42,750 --> 01:16:46,320 どのように私は、100%を覚えていることはありません 山車のスペックは、実際に動作しますが、 1679 01:16:46,320 --> 01:16:52,660 しかし、私はあなたが常に覚えている 山車が乱雑取得を開始すること。 1680 01:16:52,660 --> 01:16:55,460 1681 01:16:55,460 --> 01:17:00,930 だからアイデアは、あなたが本当に取得するときということです 本当に大きな数字や本当に、本当に 1682 01:17:00,930 --> 01:17:03,470 小さな数字は、我々は開始 悪化と悪化 1683 01:17:03,470 --> 01:17:05,860 差別化で 2近いフロート間。 1684 01:17:05,860 --> 01:17:09,180 >> だから私が考えるのが好きかである 浮動小数点の不正確さと、 1685 01:17:09,180 --> 01:17:11,890 その2つのfloatがあります 私はそれらを指定しようとした場合 1686 01:17:11,890 --> 01:17:15,150 Cにおいて、その事実にもかかわらず それらは、異なる数だ、 1687 01:17:15,150 --> 01:17:17,340 彼らはするつもりだ 同じ番号として解釈、 1688 01:17:17,340 --> 01:17:19,006 私たちは違ったそれらを格納することはできませんので。 1689 01:17:19,006 --> 01:17:20,540 私たちは、同じビットを使用する必要があります。 1690 01:17:20,540 --> 01:17:23,220 だから我々が取得するとき 本当に、本当に大きな数、 1691 01:17:23,220 --> 01:17:28,460 10から300のように話したり、 何か、それはその時点での 1692 01:17:28,460 --> 01:17:33,240 その10から300以上 5回10〜300 1693 01:17:33,240 --> 01:17:37,020 区別することはできません 7〜10倍〜300。 1694 01:17:37,020 --> 01:17:39,660 だから、それはかなり大きな違いだ 二つの数字の間に。 1695 01:17:39,660 --> 01:17:43,830 >> しかし、その後、あなたがダウンして取得するとき 正常範囲の事に、 1696 01:17:43,830 --> 01:17:45,770 あなたはかなりになりがち 差別化が得意。 1697 01:17:45,770 --> 01:17:49,020 そして、あなたは本当に小さな降りるとき、 あなたはまた、再びかなり悪い取得している。 1698 01:17:49,020 --> 01:17:52,529 の全体の束のようなので、 0.0000、それはかなり悪い取得します。 1699 01:17:52,529 --> 01:17:53,820 GABRIEL:うん、そう簡単なメモ。 1700 01:17:53,820 --> 01:17:54,670 これを行うことはありません。 1701 01:17:54,670 --> 01:17:57,590 比較しようとすることはありません イコールに等しい使用山車、 1702 01:17:57,590 --> 01:18:02,800 彼らはほとんどしている場合でも、理由 同じことが、ほぼ同じで同じではない。 1703 01:18:02,800 --> 01:18:06,360 だから何普段やっていることはあなたが引くです それらは、その絶対値をとり、 1704 01:18:06,360 --> 01:18:12,380 そしてそれはより小さいだかどうかを確認 0.0001またはそのような何か、OK? 1705 01:18:12,380 --> 01:18:12,880 とクール。 1706 01:18:12,880 --> 01:18:16,630 私は多くの人が持って知っている Javaでいくつかの背景、 1707 01:18:16,630 --> 01:18:19,700 やった、特にもの のAPコンピュータサイエンス、右? 1708 01:18:19,700 --> 01:18:23,630 とJavaは言語である その大部分はC言語に基づいて、 1709 01:18:23,630 --> 01:18:26,570 それは夫婦非常に大きな違いがあります。 1710 01:18:26,570 --> 01:18:31,430 しかし様ループ、およびIFS、とスタッフのための つまり、それらはすべて同じ構文だ。 1711 01:18:31,430 --> 01:18:35,240 私はこれを示すために、ここでいくつかのプログラムを持っている。 1712 01:18:35,240 --> 01:18:37,050 >> ですから、例えば、単純なhello worldの。 1713 01:18:37,050 --> 01:18:43,140 1714 01:18:43,140 --> 01:18:46,600 これはあなたのC、でのHello Worldです みんな、と間違いなく精通している 1715 01:18:46,600 --> 01:18:49,100 とこれとこれ1はJavaである。 1716 01:18:49,100 --> 01:18:53,100 Javaで我々はこれを持っているので、 publicクラス、Hello Worldの、 1717 01:18:53,100 --> 01:18:57,050 と公共の静的な無効 メイン、および文字列引数。 1718 01:18:57,050 --> 01:18:59,665 文字列argsは行く 非常にまもなくC言語で表示される。 1719 01:18:59,665 --> 01:19:00,740 1720 01:19:00,740 --> 01:19:01,990 しかし、それではまだそこに行くわけにはいきません。 1721 01:19:01,990 --> 01:19:06,060 今のところ、我々は意味し、ここで、空隙がある そのメインは引数を取ることはありません。 1722 01:19:06,060 --> 01:19:09,220 そして、我々は持っている System.out.printlnを、それはだ 1723 01:19:09,220 --> 01:19:11,140 printfのための同等の一種。 1724 01:19:11,140 --> 01:19:17,150 ここで私たちは本当にバックスラッシュは必要ありません n個の印刷Lnはあなたのためにそれをするので。 1725 01:19:17,150 --> 01:19:19,680 これは、バックスラッシュを追加します 行の末尾にn個。 1726 01:19:19,680 --> 01:19:22,540 1727 01:19:22,540 --> 01:19:30,415 >> しかし、あなたが入る場合は、 のためのようなもの、あなた 1728 01:19:30,415 --> 01:19:32,590 彼らがしていることがわかります ほとんど同じこと。 1729 01:19:32,590 --> 01:19:37,390 だから、初期化、および 状態、および更新 1730 01:19:37,390 --> 01:19:42,050 is--私は、彼らがしているhere--スペースを逃した ジャワ除くほとんど同じこと、 1731 01:19:42,050 --> 01:19:44,430 さらにいくつかのハイレベルのものとして持っています。 1732 01:19:44,430 --> 01:19:46,010 1733 01:19:46,010 --> 01:19:49,610 ここで私たちにできるプラスIと Javaは自動的になります 1734 01:19:49,610 --> 01:19:52,730 である、私はここにこれを作る 整数、文字列に、 1735 01:19:52,730 --> 01:19:55,200 その後追加 2つの文字列。 1736 01:19:55,200 --> 01:19:57,570 ここではC言語で、我々は&%Dを行う必要があります。 1737 01:19:57,570 --> 01:20:15,310 1738 01:20:15,310 --> 01:20:18,170 ここでライン、用 全く同じに見えます。 1739 01:20:18,170 --> 01:20:37,760 >> そして、我々は、IFS、もし見れば また右、まったく同じに見える? 1740 01:20:37,760 --> 01:20:39,290 1741 01:20:39,290 --> 01:20:44,650 だから、本当の大きな違いがある あなたはここを参照してくださいそれらの事で。 1742 01:20:44,650 --> 01:20:47,530 パブリック静的ボイド、および パブリッククラスなら。 1743 01:20:47,530 --> 01:20:48,990 1744 01:20:48,990 --> 01:20:52,360 だからJavaはあるものを持って 仮想マシンと呼ばれる。 1745 01:20:52,360 --> 01:20:53,560 1746 01:20:53,560 --> 01:21:00,150 そして、それは非常に重く何に基づいている オブジェクト指向プログラミングと呼ばれ、 1747 01:21:00,150 --> 01:21:04,120 非常に、非常に一般的である 最近はプログラミングのためのパラダイム。 1748 01:21:04,120 --> 01:21:10,870 そして、このクラスのものは、あなたが見るものである オブジェクト指向から何か、 1749 01:21:10,870 --> 01:21:14,214 あなたがクラスを作成してからされている そのクラスからオブジェクトを派生させることができます。 1750 01:21:14,214 --> 01:21:16,380 我々はあまりにも話をするつもりはない CS50のそれについてはあまり、 1751 01:21:16,380 --> 01:21:18,213 それは間違いなくです 本当にクールな何か、 1752 01:21:18,213 --> 01:21:21,440 あなたがに行きたい場合は特に より洗練されたウェブ開発 1753 01:21:21,440 --> 01:21:24,050 コー​​スの終わりに、 のようなあなたの最終的なプロジェクトを提出 1754 01:21:24,050 --> 01:21:26,430 そしていくつかの素晴らしいフレームワークとか。 1755 01:21:26,430 --> 01:21:31,250 >> そこで、基本的な考え方は、あなたということです 何かを再実装する必要はありません、 1756 01:21:31,250 --> 01:21:36,330 だから、だものを作成 非常に一般的な形状のように、 1757 01:21:36,330 --> 01:21:38,310 その後あなたが作成 それは異なる形状、 1758 01:21:38,310 --> 01:21:40,240 その後のそれぞれから これらの形状は、あなたが作成 1759 01:21:40,240 --> 01:21:45,110 3人にいくつかのより具体的な形状 寸法やそのような何か。 1760 01:21:45,110 --> 01:21:48,799 そして、彼らはこの階層彼らを持っている そう、他のものを継承 1761 01:21:48,799 --> 01:21:51,840 すべての関数とすべての変数 ここでの大きな形状は、これらのすべてを有している 1762 01:21:51,840 --> 01:21:54,110 持っているつもり、これらのすべてがあるされている 持っているつもりなどなど。 1763 01:21:54,110 --> 01:21:55,640 だから、基本的な考え方です。 1764 01:21:55,640 --> 01:21:59,170 >> Cはそれを持っていますが、C ++はありません 機能のようなものを持っています。 1765 01:21:59,170 --> 01:22:02,710 とJavaは大きな影響を受ける オブジェクト指向によって、 1766 01:22:02,710 --> 01:22:05,310 あなたが見る理由ようです ここで、クラスのすべての時間。 1767 01:22:05,310 --> 01:22:10,790 そして他の事はある このJava仮想マシン。 1768 01:22:10,790 --> 01:22:13,790 だから、これは、私が思うに、非常にスマートなアイディアです。 1769 01:22:13,790 --> 01:22:17,020 だから何の人々は誰 発明されたJavaはありました 1770 01:22:17,020 --> 01:22:19,630 彼らはしたくなかった 2倍のコードをコンパイル 1771 01:22:19,630 --> 01:22:23,990 彼らはWindowsでそれを実行しなければならなかった場合には、 またはMac、またはLinuxは、そのように彼らが何をすべきか 1772 01:22:23,990 --> 01:22:26,740 彼らは文字通り実行され アプライアンスのようなもの、 1773 01:22:26,740 --> 01:22:29,630 しかし、あなたは本当にそれが起こって表示されません。 1774 01:22:29,630 --> 01:22:32,430 そこで、彼らは仮想マシンを実行 お使いのコンピュータの内部に、どの 1775 01:22:32,430 --> 01:22:34,940 似基本的に ミニオペレーティングシステム。 1776 01:22:34,940 --> 01:22:37,920 そのオペレーティング 生活の中で、システムの目的 1777 01:22:37,920 --> 01:22:41,430 ただ、バイトコードと呼ばれるもの実行することです。 1778 01:22:41,430 --> 01:22:47,411 >> だからではなく、C言語で、道の我々はだろう これがあれば作ることで、コンパイルし、実行し 1779 01:22:47,411 --> 01:22:47,910 ./if。 1780 01:22:47,910 --> 01:22:53,510 1781 01:22:53,510 --> 01:22:55,290 私はバックスラッシュを忘れてしまった。 1782 01:22:55,290 --> 01:23:00,240 Javaでは、最初に行うだろう C言語Javaはそれをコンパイルするための、if.c. 1783 01:23:00,240 --> 01:23:06,440 1784 01:23:06,440 --> 01:23:08,252 それはC.それのドットのjavaではありません。 1785 01:23:08,252 --> 01:23:09,460 1786 01:23:09,460 --> 01:23:12,140 そして、あなたはしない./実行する必要があります。 1787 01:23:12,140 --> 01:23:15,440 あなたは、この新しいファイルを取得 if.classが、あなたは本当にできない 1788 01:23:15,440 --> 01:23:17,980 ちょうど今if.classを実行 私たちは前にやったような。 1789 01:23:17,980 --> 01:23:19,440 これは実行可能ではありません。 1790 01:23:19,440 --> 01:23:20,630 あなたが実行する必要があります。 1791 01:23:20,630 --> 01:23:23,410 あなたはにそれを養うために持っている ジャワと呼ばれるプログラム、 1792 01:23:23,410 --> 01:23:28,260 そのプログラムは、仮想マシンであり、 そして、あなたはif.classを行う場合、または。 1793 01:23:28,260 --> 01:23:28,760 はい。 1794 01:23:28,760 --> 01:23:30,890 そして、それは動作します。 1795 01:23:30,890 --> 01:23:33,740 [OK]これはの一種である 仮想マシンが起こって。 1796 01:23:33,740 --> 01:23:37,700 私がいたので、もしCが、それを持っていません Windowsマシンでこのプログラムを置く、 1797 01:23:37,700 --> 01:23:40,516 それはそれがないJavaでは、Cで動作しないでしょう。 1798 01:23:40,516 --> 01:23:41,015 質問? 1799 01:23:41,015 --> 01:23:43,430 1800 01:23:43,430 --> 01:23:44,030 涼しい。 1801 01:23:44,030 --> 01:23:47,160 今日のスーパーセクションの場合は、そのためです。 1802 01:23:47,160 --> 01:23:49,462