More Variables (Video Version)
-
0:02 - 0:04我們已經寫了這超酷的變數
-
0:04 - 0:06來控制溫斯頓的眼睛大小,那真的非常有用
-
0:06 - 0:10因為當我們想改變溫思頓雙眼的大小時
它省了我們很多字數 -
0:10 - 0:13記得:之前我們需要重複寫入相同的數字四次
-
0:13 - 0:16去改變他眼睛的大小
-
0:16 - 0:18但是,我們還可以用變數去取代數字
-
0:18 - 0:19即使數字不是完全一樣嗎?
-
0:19 - 0:22例如,如果我想移溫斯頓右一點又怎樣?
-
0:22 - 0:24我可以改變這裏每一個x座標值
-
0:24 - 0:26但它們不全都一樣
-
0:26 - 0:28所以我不能只用某變數來取代它們全部
-
0:28 - 0:29但等一下!
-
0:29 - 0:31一旦我指派變數一個數字,
-
0:31 - 0:34我就可以使用那變數如那數字一樣
-
0:34 - 0:37這也表示我可以使用變數和數學表示式
-
0:37 - 0:38所以,這麼做如何:
-
0:38 - 0:41來寫一個變數代表著溫斯頓的x座標位置
-
0:41 - 0:43稱它為var x
-
0:43 - 0:45非常簡單
-
0:45 - 0:48好,現在給它溫斯頓臉部的x座標值
-
0:48 - 0:51他的臉會被畫在x座標200的位置
-
0:51 - 0:54所以,我們便說變數x得到200
-
0:55 - 0:59現在我可以用我的新變數x來取代這數字
-
0:59 - 1:02而當我改變x值時,它會移動溫斯頓的臉
-
1:02 - 1:04但不包括他的眼睛或嘴巴
-
1:05 - 1:07要修正那點
-
1:07 - 1:11我們要定義他眼睛和嘴巴的位置
-
1:11 - 1:14相對於他臉部的位置
-
1:15 - 1:18x座標將會成爲其它所有橢圓形的中心點
-
1:18 - 1:23所以他的臉會被畫在——那是200
-
1:23 - 1:25先來做他的左眼
-
1:25 - 1:26這橢圓形是他的左眼
-
1:26 - 1:30我們可以看到它正被畫在150上
-
1:30 - 1:33就在這裡,那是150
-
1:33 - 1:38而且我知道150是200再少50
-
1:38 - 1:43所以他的左眼應該位於他臉地位置,減去50
-
1:43 - 1:48也就是x,代表他臉的位置,- 50
-
1:48 - 1:51現在,若我改變這x座標的值
-
1:51 - 1:53他的眼睛便會跟著臉一起移動
-
1:53 - 1:55讓我們來做剩下的
-
1:55 - 1:58他的右眼正被畫在300上
-
1:58 - 2:01我可以看到這個在這裡是300
-
2:01 - 2:06而300,我知道,是比200再多100
-
2:06 - 2:10所以他的右眼應該位於他臉的位置加上100
-
2:10 - 2:13也就是x + 100
-
2:13 - 2:14現在就剩他的嘴巴了
-
2:14 - 2:17他的嘴巴正被畫在250上
-
2:17 - 2:19就在這裡,250的位置
-
2:19 - 2:23而250是200加50
-
2:23 - 2:26也就是在——噢,那是5
-
2:26 - 2:31也就是他臉的位置,x + 50
-
2:31 - 2:33現在——我要把這些塗鴉都擦掉
-
2:33 - 2:38每當我改變x值,它就會移動他的整張臉
-
2:38 - 2:40耶!
-
2:40 - 2:43在你離開前,還有兩件關於變數的事你必須了解
-
2:43 - 2:46一旦你用var x做了一個變數
-
2:46 - 2:49你可以繼續賦予值給它,多少遍都可以
-
2:49 - 2:52所以,在給x一個198的值後
-
2:52 - 2:55我可以再說x得到300
-
2:55 - 2:59或x得到150
-
2:59 - 3:01從那時起,電腦就會視x
-
3:01 - 3:04為任何我們最後賦予它的值
-
3:04 - 3:05在這情況下,就是150
-
3:05 - 3:08但是,你只需為每個變數寫一次var
-
3:08 - 3:13相反地,在這裡,如果我寫var x得到150的話
-
3:13 - 3:16那就會創造出一個叫x的全新變數
-
3:16 - 3:18在程序上會完全消滅舊的變數x
-
3:18 - 3:22而所有這些變數便會消失,到垃圾箱去
-
3:22 - 3:25之後,電腦只會使用那新變數
-
3:25 - 3:28有時你可以這麼做
而不會有什麼恐怖事情發生在你身上 -
3:28 - 3:30但我不會這麼建議
-
3:30 - 3:33現在,我只要來做一次:var x得到150
-
3:33 - 3:37非常方便地,我可以把溫斯頓完全移出視窗外
-
3:37 - 3:40以便解說下一個重點
-
3:40 - 3:45每當你使變數等於某物
-
3:45 - 3:47那變數就處在一個快樂、安全的地方
-
3:47 - 3:50事實上,等號的左邊
-
3:50 - 3:54是唯一變數可以真切感受到自己存在的地方
-
3:54 - 3:57因為那是唯一一個電腦會把它視為變數的地方
-
3:57 - 4:00在其他任何位置,電腦只會假裝它是一個值
-
4:00 - 4:02所以即使我們做了像這樣的事:
-
4:02 - 4:06var x得到10
-
4:06 - 4:11然後x得到x
-
4:11 - 4:12唔,好混亂
-
4:12 - 4:15在左邊,我們已有x
-
4:15 - 4:17一個自由思考、獨立的變數
-
4:17 - 4:20一個可以成長、改變的變數
-
4:20 - 4:25但,在右邊,只是,它就只是10
-
4:25 - 4:27真難過!
-
4:27 - 4:29但那表示我們可以做些非常有用的東西像這樣:
-
4:29 - 4:34我可以說x得到x + 1
-
4:34 - 4:37所以,在左邊,我們已使變數
處在一個快樂、安全的地方 -
4:37 - 4:40而在右邊,我們有這個變數
-
4:40 - 4:43基本上據我們所知就是一個數字
-
4:43 - 4:44也就是10
-
4:44 - 4:48在腦中我們可以用x得到10加1來取代它
-
4:48 - 4:52意思就是x得到11
-
4:52 - 4:54所以,這整行基本上就是說x得到11
-
4:54 - 4:58從現在起,x值就是11
-
4:58 - 5:01來看看如果我們將另一個變數
帶入方程式中會發生什麼事 -
5:01 - 5:07我要使var x得到10
-
5:07 - 5:10var y得到20
-
5:10 - 5:12x得到y——
-
5:12 - 5:14我的天阿——
-
5:14 - 5:17然後y得到7
-
5:17 - 5:19好,而我想知道的是
-
5:19 - 5:22x值是多少?
-
5:22 - 5:24讓我們來找出答案
-
5:24 - 5:27在這一行,我們正在建立一個新變數x
-
5:27 - 5:29並指派它10的數值
-
5:29 - 5:32所以x值是10
-
5:32 - 5:34在這一行,我們正在建立一個新變數y
-
5:34 - 5:36並給它20的數值
-
5:36 - 5:37我們沒有對x做任何事
-
5:37 - 5:39所以x值仍然是10
-
5:39 - 5:42在這裡,我們在說x得到y
-
5:42 - 5:44那蠻令人費解的,但如果你想一下
-
5:44 - 5:46我們知道在這些變數裏只有一個
-
5:46 - 5:48是在那快樂、安全的地方
-
5:48 - 5:53而另一個變數正被如數字一般地對待
-
5:54 - 5:55所以在這裡,我們可以在腦裡
-
5:55 - 5:58使y被它的值取替,也就是20
-
5:58 - 6:02且我們知道這行真正的意思是x得到20
-
6:02 - 6:05所以,在這x值為20
-
6:05 - 6:09接著,在這裡,這次我們的y正處在那快樂的位置
-
6:09 - 6:10其實不是真的那麼混亂
-
6:10 - 6:13因為我們在另一邊只是放了一個數字而已
-
6:13 - 6:18所以,問題於這:當我在這改變y值時
-
6:18 - 6:21會同時改變上面的x值嗎?
-
6:21 - 6:22答案是:
-
6:23 - 6:26不!不,不,不,不,不會!
-
6:26 - 6:28你必須記住,在這裡,
-
6:28 - 6:32y正被像是數字的方式對待
-
6:32 - 6:35電腦將會完全忽視它是一個變數
-
6:35 - 6:36忘記它可以更改的事實
-
6:36 - 6:39而它只會說:
-
6:39 - 6:43「噢,y?你真正指的是20吧。」
-
6:43 - 6:45所以在這,我們只是在指派x一個數字
-
6:45 - 6:47而不是在指派一個變數
-
6:47 - 6:50我們正賦予y值,也就是20
-
6:50 - 6:54那意思是x值保持20
-
6:54 - 6:58即使我們在最後一行改了變數y的值
-
7:00 - 7:02呼!懂了嗎?
-
7:02 - 7:05現在你們完全是變數專家了
-
7:05 - 7:07恭喜!
Inez Ng edited Chinese, Traditional subtitles for More Variables (Video Version) | ||
Bernice Huang edited Chinese, Traditional subtitles for More Variables (Video Version) | ||
Bernice Huang edited Chinese, Traditional subtitles for More Variables (Video Version) |