Professional Documents
Culture Documents
Learning Csharp Chapter - 1-6
Learning Csharp Chapter - 1-6
ŽƌƚƌĂŶƐŵŝƩĞĚŝŶĂŶLJĨŽƌŵŽƌďLJĂŶLJŵĞĂŶƐ͕ǁŝƚŚŽƵƚƚŚĞƉƌŝŽƌǁƌŝƩĞŶƉĞƌŵŝƐƐŝŽŶŽĨƚŚĞ
ƉƵďůŝƐŚĞƌ͕ĞdžĐĞƉƚŝŶƚŚĞĐĂƐĞŽĨďƌŝĞĨƋƵŽƚĂƟŽŶƐĞŵďĞĚĚĞĚŝŶĐƌŝƟĐĂůĂƌƟĐůĞƐŽƌƌĞǀŝĞǁƐ͘
ǀĞƌLJĞīŽƌƚŚĂƐďĞĞŶŵĂĚĞŝŶƚŚĞƉƌĞƉĂƌĂƟŽŶŽĨƚŚŝƐŬƚŽĞŶƐƵƌĞƚŚĞĂĐĐƵƌĂĐLJŽĨƚŚĞ
ŝŶĨŽƌŵĂƟŽŶƉƌĞƐĞŶƚĞĚ͘,ŽǁĞǀĞƌ͕ƚŚĞŝŶĨŽƌŵĂƟŽŶĐŽŶƚĂŝŶĞĚŝŶƚŚŝƐŬŝƐƐŽůĚǁŝƚŚŽƵƚ
ǁĂƌƌĂŶƚLJ͕ĞŝƚŚĞƌĞdžƉƌĞƐƐŽƌŝŵƉůŝĞĚ͘EĞŝƚŚĞƌƚŚĞĂƵƚŚŽƌ͕ŶŽƌWĂĐŬƚWƵďůŝƐŚŝŶŐ͕ĂŶĚŝƚƐĚĞĂůĞƌƐ
ĂŶĚĚŝƐƚƌŝďƵƚŽƌƐǁŝůůďĞŚĞůĚůŝĂďůĞĨŽƌĂŶLJĚĂŵĂŐĞƐĐĂƵƐĞĚŽƌĂůůĞŐĞĚƚŽďĞĐĂƵƐĞĚĚŝƌĞĐƚůLJŽƌ
/ @ C / . A : 2 > - = - 2 1 / ? = + + ; D
WĂĐŬƚWƵďůŝƐŚŝŶŐŚĂƐĞŶĚĞĂǀŽƌĞĚƚŽƉƌŽǀŝĚĞƚƌĂĚĞŵĂƌŬŝŶĨŽƌŵĂƟŽŶĂďŽƵƚĂůůŽĨƚŚĞ
ĐŽŵƉĂŶŝĞƐĂŶĚƉƌŽĚƵĐƚƐŵĞŶƟŽŶĞĚŝŶƚŚŝƐŬďLJƚŚĞĂƉƉƌŽƉƌŝĂƚĞƵƐĞŽĨĐĂƉŝƚĂůƐ͘,ŽǁĞǀĞƌ͕
WĂĐŬƚWƵďůŝƐŚŝŶŐĐĂŶŶŽƚŐƵĂƌĂŶƚĞĞƚŚĞĂĐĐƵƌĂĐLJŽĨƚŚŝƐŝŶĨŽƌŵĂƟŽŶ͘
/ . ? 2 , < = > / ? 1 A C I J A , 2 A F = A . 4 5 6 7
H
WƌŽĚƵĐƟŽŶZĞĨĞƌĞŶĐĞ͗ϭϭϵϬϵϭϯ
K / B A . - 8 > 9 : A
7 L K / B A . - J 2 . A A 2
/ . F / @ 0 1 9 F 7 4 8 G D D
) M
/^EϵϳϴͲϭͲϴϰϵϲϵͲϲϱϴͲϲ
www.packtpub.com
ŽǀĞƌ/ŵĂŐĞďLJƌƟĞEŐ;artherng@yahoo.com.au
N
Credits
WƌŽũĞĐƚŽŽƌĚŝŶĂƚŽƌ
O P Q R S T
z u v o d { o p p
U V W W X Y Z W [ Z \ V j [ \ j
] ^ _ ` ^ a ^
T b
WƌŽŽĨƌĞĂĚĞƌ
z i o d c
V V j W V V \
c d e d f c d
W W g
<ƌŝƐƟĂŶ,ĞĚĞŚŽůŵ
/ŶĚĞdžĞƌƐ
v o d d p
m V Y W
ĐƋƵŝƐŝƟŽŶĚŝƚŽƌ
h d i h d r | p
V j Z \ V j U V y Z \
>ĞĂĚdĞĐŚŶŝĐĂůĚŝƚŽƌ
} T ~ R b
`
d d d i
k X \ l X V j d v o e f
m Z \ k W
dĞĐŚŶŝĐĂůĚŝƚŽƌƐ WƌŽĚƵĐƟŽŶŽŽƌĚŝŶĂƚŽƌ
ĚŝƟ'ĂũũĂƌ
e n o p d q o d d r p
m [ \ j
r d d
k X \ s V W \ \ t V j
S T S T
_ ^
p u p v d c d v d
k Z \ W
ĚŝƟ'ĂũũĂƌ
p n d h o
w Z \ Z \
o p p d
x W Z j Z \ y [ w [ W
About the Author
ǁĂƐďŽƌŶĂŶĚƌĂŝƐĞĚŝŶĂůŝĨŽƌŶŝĂ͘ƵƌŝŶŐƚŚĞsŝĞƚŶĂŵĞƌĂ͕ŚĞƐĞƌǀĞĚƐŝdž
ĂŶĚŚĂůĨLJĞĂƌƐŝŶƚŚĞh^ŝƌ&ŽƌĐĞ͘tŚŝůĞŝŶƚŚĞŵŝůŝƚĂƌLJ͕ŚĞǁĂƐƚƌĂŝŶĞĚŝŶĞůĞĐƚƌŽŶŝĐƐĨŽƌ
A > A : 2 . + @ / : : + < @ 2 A . F A 9 ? < . A ? D , + @ C / ? : 1 9 . 0 A G 1 A A 9 . @ A C 1 / ? > A : 2 . / : 9 > @ 0 / @ A A . / @ 0 C A 0 . A A G
( )
ĂŶĚůĂƚĞƌǁŽƌŬŝŶŐĨŽƌ:ŽƐůLJŶĞĨĞŶƐĞ^LJƐƚĞŵƐŝŶsĞƌŵŽŶƚ͕ĚĞƐŝŐŶŝŶŐĂŶĚĚĞǀĞůŽƉŝŶŐƚĞƐƚ
A < / , F A @ 2 E + . 2 1 A J 9 B - D
) $
ŶĞǀĞƌƋƵŝƚĞĚĞůǀĞĚĚĞĞƉŝŶƚŽƚŚĞƉƌŽŐƌĂŵŵŝŶŐƐŝĚĞ͘/ƚǁĂƐŶΖƚƵŶƟůϮϬϬϰƚŚĂƚƉƌŽŐƌĂŵŵŝŶŐ
ƉĞĂŬĞĚŚŝƐŝŶƚĞƌĞƐƚ͘,ĞďĞŐĂŶǁƌŝƟŶŐĂƌƟĐůĞƐĨŽƌK^ͬϮDĂŐĂnjŝŶĞƚŽƚĞĂĐŚннƉƌŽŐƌĂŵŵŝŶŐ͘
hŶĨŽƌƚƵŶĂƚĞůLJ͕ĚĂŵĂŐŝŶŐŚŝƐůĞŌŚĂŶĚŝŶĂƐŶŽǁďůŽǁĞƌĂĐĐŝĚĞŶƚŝŶϮϬϬϱĞŶĚĞĚŚŝƐǁƌŝƟŶŐĨŽƌ
9 : + < , > A - A 9 . ? D
/DĂďĂŶĚŽŶĞĚK^ͬϮ͕ƐŽdĞƌƌLJďŽƵŐŚƚŚŝƐĮƌƐƚƉƉůĞĐŽŵƉƵƚĞƌŝŶĞĂƌůLJϮϬϬϲ͘,ĞƚƌŝĞĚĂ
ĨĞǁƟŵĞƐƚŽůĞĂƌŶKďũĞĐƟǀĞͲ͕ďƵƚǁŽƌŬĂŶĚĨĂŵŝůLJĂůǁĂLJƐƐĞĞŵĞĚƚŽƐŝĚĞƚƌĂĐŬŚŝƐĞīŽƌƚƐ͘
/ƚǁĂƐŶΖƚƵŶƟůĂďŽƵƚϮϬϭϬǁŚĞŶŚĞĚŝƐĐŽǀĞƌĞĚhŶŝƚLJĂŶĚƚŚĞŶĞĞĚƚŽǁƌŝƚĞƐĐƌŝƉƚƐ͕ƚŚĂƚŚĞ
ĮŶĂůůLJŵĂĚĞƐŽŵĞƉƌŽŐƌĞƐƐŝŶƚŽƚŚĞƉƌŽŐƌĂŵŵŝŶŐǁŽƌůĚ͘,ĞďĞŐĂŶǁƌŝƟŶŐĂŶŽŶůŝŶĞ
ƚƵƚŽƌŝĂůĨŽƌhŶŝƚLJ^ĐƌŝƉƚƟƚůĞĚ ͘/ƚǁĂƐĂďĂƐŝĐƚƵƚŽƌŝĂůĨŽƌďĞŐŝŶŶĞƌƐ
^ŝŶĐĞƚŚĞŶ͕dĞƌƌLJŚĂƐďĞĞŶůĞĂƌŶŝŶŐηĨŽƌǁƌŝƟŶŐƐĐƌŝƉƚƐĨŽƌhŶŝƚLJ͘WĂĐŬƚWƵďůŝƐŚŝŶŐŶŽƟĐĞĚ
ĂŶĚĂƐŬĞĚŝĨŚĞǁŽƵůĚďĞŝŶƚĞƌĞƐƚĞĚŝŶǁƌŝƟŶŐĂŬĂďŽƵƚůĞĂƌŶŝŶŐ
hŶŝƚLJ^ĐƌŝƉƚ͘,ĞĚĞĐůŝŶĞĚ͘,ĞĨĞůƚƚŚĂƚηǁĂƐĂďĞƩĞƌůĂŶŐƵĂŐĞ͕ĂŶĚŚŝƐŚĞĂƌƚũƵƐƚǁĂƐŶΖƚŝŶƚŽ
hŶŝƚLJ^ĐƌŝƉƚĂŶLJůŽŶŐĞƌ͘dǁŽǁĞĞŬƐůĂƚĞƌ͕WĂĐŬƚŽīĞƌĞĚŚŝŵƚŚĞŽƉƉŽƌƚƵŶŝƚLJƚŽǁƌŝƚĞĂŬ
9 = + < 2 > A 9 . @ / @ 0 * E + . @ / 2 - D A < F , A C + @ / 2 D
) &
/ǁĂŶƚƚŽƚŚĂŶŬŵLJĚĂƵŐŚƚĞƌŵŝůLJEŽƌƚŽŶ͕ƚŚĞĂƌƟƐƚŝŶƚŚĞĨĂŵŝůLJ͕ĨŽƌ
ŚĞůƉŝŶŐŵĞǁŝƚŚƚŚĞŐƌĂƉŚŝĐΖƐĚĞƐŝŐŶ͘
About the Reviewers
ǁĂƐďŽƌŶŝŶĞůŚŝ͘,ĞŝƐĂŽŵƉƵƚĞƌƉƉůŝĐĂƟŽŶƐŐƌĂĚƵĂƚĞĨƌŽŵ/ŶĚŝƌĂ
¡ ¢
£
9 @ C 1 / @ / B A . ? / 2 - 9 @ C 1 9 ? , 9 ? ? A C 1 / ? 1 / 0 1 A . ? A : + @ C 9 . - E . + F 2 1 A * J + 9 . C D ¤ < . / @ 0 1 / ?
% )
ƵŶĚĞƌͲŐƌĂĚƵĂƚĞƐƚƵĚŝĞƐ͕ŚĞƐƚĂƌƚĞĚŚŝƐĐĂƌĞĞƌĂƐĂŶŝŶĚŝĞŐĂŵĞƉƌŽŐƌĂŵŵĞƌ͕ďƵƚĚŝĚŶΖƚ
ŐĂŝŶƐƵĐĐĞƐƐďĞĐĂƵƐĞŽĨĂůĂĐŬŽĨŽƌƐĂLJ͕ŶŽĞdžƉĞƌŝĞŶĐĞ͘ŌĞƌƚŚŝƐ͕ŚĞůĞĂƌŶƚƚŚĂƚƉĂƐƐŝŽŶŝƐ
ŶŽƚƚŚĞŽŶůLJƚŚŝŶŐĨŽƌŐĞƟŶŐƐƵĐĐĞƐƐ͖ĞdžƉĞƌŝĞŶĐĞŵĂƩĞƌƐĂůŽƚ͘dŚĞŶŚĞũŽŝŶĞĚ/ƐŝƐĞƐŝŐŶ
^ĞƌǀŝĐĞĂƐĂŐĂŵĞƉƌŽŐƌĂŵŵĞƌ͕ǁŚĞƌĞŚĞƉƵďůŝƐŚĞĚĂĨĞǁŝK^ƟƚůĞƐĂŶĚŽŶĞǁĞďͲďĂƐĞĚ
ŐĂŵĞ͘,ĞǁŽƌŬĞĚƚŚĞƌĞĨŽƌĂLJĞĂƌĂŶĚĂŚĂůĨ͘dŚĞŶ͕ŚĞŵŽǀĞĚƚŽ:ƵŵƉ'ĂŵĞƐ͕WƵŶĞ͕ĂŶĚ
ǁŽƌŬĞĚŽŶĂĨĞǁŐŽŽĚŐĂŵĞƟƚůĞƐƐƵĐŚĂƐZĞĂůƐƚĞĂůĂŶĚĂŶĐŝŶŐǁŝƚŚƚŚĞ^ƚĂƌƐ͘EŽǁ͕ŚĞ
ǁŽƌŬƐĨŽƌDƌDĂŶǀĞŶĚĞƌ^ŚƵŬƵůŝŶ>ĂŬƐŚLJĂŝŐŝƚĂůWǀƚůƚĚ͘ĂŶĚŚĂƐďĞĞŶƚŚĞƌĞƐŝŶĐĞƚŚĞ
, 9 ? 2 - A 9 . D
,ĞŚĂƐŶΖƚƌĞǀŝĞǁĞĚĂŬďĞĨŽƌĞ͕ďƵƚŽŶĞŽĨŚŝƐĂƌƟĐůĞƐǁĂƐƉƵďůŝƐŚĞĚŝŶ'ĂŵĞŽĚĞƌ
DĂŐĂnjŝŶĞ͘dŚĞĂƌƟĐůĞǁĂƐŽŶhŶŝƚLJϯ͘zŽƵĐĂŶĚŽǁŶůŽĂĚƚŚĞĂƌƟĐůĞĨƌŽŵŚŝƐƉĞƌƐŽŶĂů
ǁĞďƐŝƚĞ͕http://gauravgarg.com/
D
/ǁŽƵůĚůŝŬĞƚŽƚŚĂŶŬƐŵLJƉĂƌĞŶƚƐǁŚŽƚĂƵŐŚƚŵĞƚŚĞǀĂůƵĞŽĨŚĂƌĚǁŽƌŬ
ĂŶĚĂŶĞĚƵĐĂƟŽŶ͘
/ŶĞĞĚƚŽƚŚĂŶŬƐŵLJĨƌŝĞŶĚƐ͕ƉĂƌƟĐƵůĂƌůLJDĂŶũŝƚŚĂŶĚsŝďŚĂƐŚ͕ǁŚŽĂůǁĂLJƐ
ƚŽŽŬƚŚĞƟŵĞƚŽůŝƐƚĞŶ͕ĞǀĞŶǁŚĞŶ/ǁĂƐũƵƐƚĐŽŵƉůĂŝŶŝŶŐ͘dŚĞLJĂůǁĂLJƐĂƌĞ
F - = A ? 2 ? < , , + . 2 A . ? 9 @ C 9 C B / ? + . ? D
&ŝŶĂůůLJ͕/ǁŽƵůĚůŝŬĞƚŽƚŚĂŶŬ,ĂƌƐŚŝƚǁŚŽŐŝǀĞƐŵĞƚŚŝƐŽƉƉŽƌƚƵŶŝƚLJ͘
<ƌŝƐƟĂŶ,ĞĚĞŚŽůŵƐƚƵĚŝĞĚŽŵƉƵƚĞƌ^ĐŝĞŶĐĞĂƚĂƌŚƵƐhŶŝǀĞƌƐŝƚLJĂŶĚŶŽǁǁŽƌŬƐĂƐĂ
ŐĂŵĞƉƌŽŐƌĂŵŵĞƌĂƚ^ĞƌŝŽƵƐ'ĂŵĞƐ/ŶƚĞƌĂĐƟǀĞŝŶŽƉĞŶŚĂŐĞŶ͕ĞŶŵĂƌŬ͘^ŝŶĐĞ<ƌŝƐƟĂŶ
ũŽŝŶĞĚƚŚĞŐĂŵĞŝŶĚƵƐƚƌLJďĂĐŬŝŶϮϬϬϵ͕ŚĞŚĂƐǁŽƌŬĞĚŽŶĂĐŽƵƉůĞŽĨƌĞůĞĂƐĞĚĐĂƐƵĂůŐĂŵĞƐ͘
/ŶĂĚĚŝƟŽŶƚŽƚŚŝƐ͕ŚĞŝƐĂůƐŽƚŚĞĐŚĂŝƌŵĂŶŽĨĂŶĂƐƐŽĐŝĂƟŽŶĐĂůůĞĚzŽƵŶŐ'ĂŵĞĞǀĞůŽƉĞƌƐ͕
ǁŚŝĐŚĂŝŵƐƚŽƐƉƌĞĂĚŝŶĨŽƌŵĂƟŽŶĂďŽƵƚŐĂŵĞĚĞǀĞůŽƉŵĞŶƚĂŵŽŶŐĐŚŝůĚƌĞŶĂŶĚƚĞĞŶĂŐĞƌƐ͘
/ŶƚŚĞĨƵƚƵƌĞ͕<ƌŝƐƟĂŶǁŝůůƵƐĞŚŝƐΗĐŽŵƉƵƚĞƌŵŝŶĚΗƚŽĚĞǀĞůŽƉĂƌƟĮĐŝĂůŝŶƚĞůůŝŐĞŶĐĞĂŶĚ
ĚLJŶĂŵŝĐĚŝĸĐƵůƚLJĂĚũƵƐƚŵĞŶƚƐLJƐƚĞŵƐĨŽƌĐŽŵƉƵƚĞƌŐĂŵĞƐ͘
tŚĞŶ<ƌŝƐƟĂŶŝƐŶΖƚĚĞǀĞůŽƉŝŶŐŐĂŵĞƐ͕ƚĞĂĐŚŝŶŐŽƚŚĞƌƐƚŽĚĞǀĞůŽƉŐĂŵĞƐ͕ŽƌƉůĂLJŝŶŐŐĂŵĞƐ
1 / F ? A > E G 1 A 2 1 / @ ; ? 9 = + < 2 2 1 A F 9 > + 2 ¥
www.PacktPub.com
6XSSRUWÀOHVH%RRNVGLVFRXQWRIIHUVDQGPRUH
zŽƵŵŝŐŚƚǁĂŶƚƚŽǀŝƐŝƚwww.PacktPub.comĨŽƌƐƵƉƉŽƌƚĮůĞƐĂŶĚĚŽǁŶůŽĂĚƐƌĞůĂƚĞĚƚŽ
- + < . = + + ; D
ŝĚLJŽƵŬŶŽǁƚŚĂƚWĂĐŬƚŽīĞƌƐĞŽŽŬǀĞƌƐŝŽŶƐŽĨĞǀĞƌLJŬƉƵďůŝƐŚĞĚ͕ǁŝƚŚW&ĂŶĚĞWƵď
ĮůĞƐĂǀĂŝůĂďůĞ͍zŽƵĐĂŶƵƉŐƌĂĚĞƚŽƚŚĞĞŽŽŬǀĞƌƐŝŽŶĂƚwww.PacktPub.com
9 @ C 9 ? 9 , . / @ 2
ŬĐƵƐƚŽŵĞƌ͕LJŽƵĂƌĞĞŶƟƚůĞĚƚŽĂĚŝƐĐŽƵŶƚŽŶƚŚĞĞŽŽŬĐŽƉLJ͘'ĞƚŝŶƚŽƵĐŚǁŝƚŚƵƐĂƚ
service@packtpub.com
E + . F + . A C A 2 9 / > ? D
www.PacktPub.com͕LJŽƵĐĂŶĂůƐŽƌĞĂĚĂĐŽůůĞĐƟŽŶŽĨĨƌĞĞƚĞĐŚŶŝĐĂůĂƌƟĐůĞƐ͕ƐŝŐŶƵƉ
2
'
ĨŽƌĂƌĂŶŐĞŽĨĨƌĞĞŶĞǁƐůĞƩĞƌƐĂŶĚƌĞĐĞŝǀĞĞdžĐůƵƐŝǀĞĚŝƐĐŽƵŶƚƐĂŶĚŽīĞƌƐŽŶWĂĐŬƚŬƐ
9 @ C A + + ; ? D
TM
http://PacktLib.PacktPub.com
ŽLJŽƵŶĞĞĚŝŶƐƚĂŶƚƐŽůƵƟŽŶƐƚŽLJŽƵƌ/dƋƵĞƐƟŽŶƐ͍WĂĐŬƚ>ŝďŝƐWĂĐŬƚΖƐŽŶůŝŶĞĚŝŐŝƚĂůŬ
ůŝďƌĂƌLJ͘,ĞƌĞ͕LJŽƵĐĂŶĂĐĐĞƐƐ͕ƌĞĂĚĂŶĚƐĞĂƌĐŚĂĐƌŽƐƐWĂĐŬƚΖƐĞŶƟƌĞůŝďƌĂƌLJŽĨŬƐ͘
Why Subscribe?
< > > - ? A 9 . : 1 9 = > A 9 : . + ? ? A B A . - = + + ; , < = > / ? 1 A C = - 8 9 : ; 2
H
* + , - 9 @ C , 9 ? 2 A G , . / @ 2 9 @ C = + + ; F 9 . ; : + @ 2 A @ 2
KŶĚĞŵĂŶĚĂŶĚĂĐĐĞƐƐŝďůĞǀŝĂǁĞďďƌŽǁƐĞƌ
)UHH$FFHVVIRU3DFNWDFFRXQWKROGHUV
/ĨLJŽƵŚĂǀĞĂŶĂĐĐŽƵŶƚǁŝƚŚWĂĐŬƚĂƚwww.PacktPub.com
G - + < : 9 @ < ? A 2 1 / ? 2 + 9 : : A ? ?
WĂĐŬƚ>ŝďƚŽĚĂLJĂŶĚǀŝĞǁŶŝŶĞĞŶƟƌĞůLJĨƌĞĞŬƐ͘^ŝŵƉůLJƵƐĞLJŽƵƌůŽŐŝŶĐƌĞĚĞŶƟĂůƐĨŽƌ
/ F F A C / 9 2 A 9 : : A ? ? D
7DEOHRI&RQWHQWV
¨
¦
§
©
ŚĂƉƚĞƌϭ͗ŝƐĐŽǀĞƌŝŶŐzŽƵƌ,ŝĚĚĞŶ^ĐƌŝƉƟŶŐ^ŬŝůůƐ ϳ
WƌĞƌĞƋƵŝƐŝƚĞŬŶŽǁůĞĚŐĞĨŽƌƵƐŝŶŐƚŚŝƐŬ ϴ
ĞĂůŝŶŐǁŝƚŚƐĐƌŝƉƚƉŚŽďŝĂ ϴ
dĞĂĐŚŝŶŐďĞŚĂǀŝŽƌƐƚŽ'ĂŵĞKďũĞĐƚƐ ϵ
ŚŽŽƐŝŶŐƚŽƵƐĞηŝŶƐƚĞĂĚŽĨhŶŝƚLJ^ĐƌŝƉƚ ϭϬ
ZĞĂƐŽŶϭĨŽƌĐŚŽŽƐŝŶŐηʹǀĂƐƚĂŵŽƵŶƚŽĨĚŽĐƵŵĞŶƚĂƟŽŶŽŶƚŚĞ/ŶƚĞƌŶĞƚ ϭϬ
ZĞĂƐŽŶϮĨŽƌĐŚŽŽƐŝŶŐηʹŇĞdžŝďŝůŝƚLJƚŽƵƐĞhŶŝƚLJƐĐƌŝƉƚƐĂŶĚƌĞŐƵůĂƌ
ηĐŽĚĞĮůĞƐ ϭϬ
ZĞĂƐŽŶϯĨŽƌĐŚŽŽƐŝŶŐηʹĐŽĚŝŶŐƌƵůĞƐĂƌĞƐƉĞĐŝĮĐ ϭϭ
DĂŶĞƵǀĞƌŝŶŐĂƌŽƵŶĚhŶŝƚLJΖƐĚŽĐƵŵĞŶƚĂƟŽŶ ϭϭ
dŝŵĞĨŽƌĂĐƟŽŶʹŽƉĞŶŝŶŐƚŚĞZĞĨĞƌĞŶĐĞDĂŶƵĂůĚŽĐƵŵĞŶƚĂƟŽŶ
ĨŽƌƚŚĞƚƌĂŶƐĨŽƌŵŽŵƉŽŶĞŶƚ ϭϭ
dŝŵĞĨŽƌĂĐƟŽŶʹŽƉĞŶŝŶŐƚŚĞƐĐƌŝƉƟŶŐƌĞĨĞƌĞŶĐĞĚŽĐƵŵĞŶƚĂƟŽŶ
ĨŽƌƚŚĞƚƌĂŶƐĨŽƌŵĐŽŵƉŽŶĞŶƚ ϭϮ
ƌĞǁĞƌĞĂůůLJƐƵƉƉŽƐĞĚƚŽŬŶŽǁĂůůƚŚĂƚƐƚƵī͍ ϭϯ
tŚĂƚŝƐĂůůƚŚĂƚŝŶĨŽƌŵĂƟŽŶ͍ ϭϯ
tŽƌŬŝŶŐǁŝƚŚηƐĐƌŝƉƚĮůĞƐ ϭϰ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƚĞĂηƐĐƌŝƉƚĮůĞ ϭϰ
ª « ¬ ® ¯ ° ± ² « ³ ¬ ´ µ ¶ ® « ® · µ ¸ µ ¹ ® º ± ® ¯ µ µ ¯ ² ¬ ® » ¼
^LJŶĐŝŶŐηĮůĞƐďĞƚǁĞĞŶDŽŶŽĞǀĞůŽƉĂŶĚhŶŝƚLJ ϭϱ
dŝŵĞĨŽƌĂĐƟŽŶʹŽƉĞŶŝŶŐ>ĞĂƌŶŝŶŐ^ĐƌŝƉƚŝŶDŽŶŽĞǀĞůŽƉ ϭϱ
tĂƚĐŚŝŶŐĨŽƌĂƉŽƐƐŝďůĞΗŐŽƚĐŚĂΗǁŚĞŶĐƌĞĂƟŶŐƐĐƌŝƉƚĮůĞƐŝŶhŶŝƚLJ ϭϲ
&ŝdžŝŶŐƐLJŶĐŝĨŝƚŝƐŶΖƚǁŽƌŬŝŶŐƉƌŽƉĞƌůLJ ϭϲ
^ƵŵŵĂƌLJ ϭϳ
ŚĂƉƚĞƌϮ͗/ŶƚƌŽĚƵĐŝŶŐƚŚĞƵŝůĚŝŶŐůŽĐŬƐĨŽƌhŶŝƚLJ^ĐƌŝƉƚƐ ϭϵ
hƐŝŶŐƚŚĞƚĞƌŵŵĞƚŚŽĚŝŶƐƚĞĂĚŽĨĨƵŶĐƟŽŶ ϮϬ
hŶĚĞƌƐƚĂŶĚŝŶŐǁŚĂƚĂǀĂƌŝĂďůĞĚŽĞƐŝŶĂƐĐƌŝƉƚ ϮϬ
½ ¾ ¿ À Á Â Ã Ä Â Å Æ Á Å Æ Ç
È É Ê ² « ³ É ¸ É ² É Ë ¹ µ Ì »
ǀĂƌŝĂďůĞŶĂŵĞŝƐũƵƐƚĂƐƵďƐƟƚƵƚĞĨŽƌĂǀĂůƵĞ Ϯϭ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƟŶŐĂǀĂƌŝĂďůĞĂŶĚƐĞĞŝŶŐŚŽǁŝƚǁŽƌŬƐ ϮϮ
dŝŵĞĨŽƌĂĐƟŽŶʹĐŚĂŶŐŝŶŐƚŚĞŶƵŵďĞƌϵƚŽĂĚŝīĞƌĞŶƚŶƵŵďĞƌ Ϯϯ
hƐŝŶŐĂŵĞƚŚŽĚŝŶĂƐĐƌŝƉƚ Ϯϰ
tŚĂƚŝƐĂŵĞƚŚŽĚ͍ Ϯϰ
dŝŵĞĨŽƌĂĐƟŽŶʹůĞĂƌŶŝŶŐŚŽǁĂŵĞƚŚŽĚǁŽƌŬƐ Ϯϰ
tŚĂƚΖƐŝŶƚŚŝƐƐĐƌŝƉƚĮůĞ͍ Ϯϱ
DĞƚŚŽĚŶĂŵĞƐĂƌĞƐƵďƐƟƚƵƚĞƐƚŽŽ Ϯϱ
/ŶƚƌŽĚƵĐŝŶŐƚŚĞĐůĂƐƐ Ϯϳ
LJƵƐŝŶŐĂůŝƩůĞhŶŝƚLJŵĂŐŝĐ͕ĂƐĐƌŝƉƚďĞĐŽŵĞƐĂŽŵƉŽŶĞŶƚ Ϯϴ
ŵŽƌĞƚĞĐŚŶŝĐĂůůŽŽŬĂƚƚŚĞŵĂŐŝĐ Ϯϴ
ǀĞŶŵŽƌĞhŶŝƚLJŵĂŐŝĐ Ϯϵ
ŽŵƉŽŶĞŶƚƐĐŽŵŵƵŶŝĐĂƟŶŐƵƐŝŶŐƚŚĞŽƚ^LJŶƚĂdž Ϯϵ
tŚĂƚΖƐǁŝƚŚƚŚĞĚŽƚƐ͍ ϯϬ
^ƵŵŵĂƌLJ ϯϬ
ŚĂƉƚĞƌϯ͗'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ ϯϭ
tƌŝƟŶŐηƐƚĂƚĞŵĞŶƚƐƉƌŽƉĞƌůLJ ϯϮ
hŶĚĞƌƐƚĂŶĚŝŶŐŽŵƉŽŶĞŶƚƉƌŽƉĞƌƟĞƐŝŶhŶŝƚLJΖƐ/ŶƐƉĞĐƚŽƌ ϯϮ
sĂƌŝĂďůĞƐďĞĐŽŵĞŽŵƉŽŶĞŶƚƉƌŽƉĞƌƟĞƐ ϯϯ
Í « ² ¬ Î ± ´ É « ³ µ Ï Ï ± ² º ¬ É « ¯ ¸ É ² É Ë ¹ µ « É Ê µ Ï Ï ¹ ² ³ ´ ¬ ¹ Î Ð Ð
ŚĂŶŐŝŶŐĂƉƌŽƉĞƌƚLJΖƐǀĂůƵĞŝŶƚŚĞ/ŶƐƉĞĐƚŽƌƉĂŶĞů ϯϯ
ŝƐƉůĂLJŝŶŐƉƵďůŝĐǀĂƌŝĂďůĞƐŝŶƚŚĞ/ŶƐƉĞĐƚŽƌƉĂŶĞů ϯϰ
dŝŵĞĨŽƌĂĐƟŽŶʹŵĂŬŝŶŐĂǀĂƌŝĂďůĞƉƌŝǀĂƚĞ ϯϰ
EĂŵŝŶŐLJŽƵƌǀĂƌŝĂďůĞƐƉƌŽƉĞƌůLJ ϯϱ
ĞŐŝŶǀĂƌŝĂďůĞŶĂŵĞƐǁŝƚŚůŽǁĞƌĐĂƐĞ ϯϲ
hƐŝŶŐŵƵůƟͲǁŽƌĚǀĂƌŝĂďůĞŶĂŵĞƐ ϯϲ
ĞĐůĂƌŝŶŐĂǀĂƌŝĂďůĞĂŶĚŝƚƐƚLJƉĞ ϯϳ
dŚĞŵŽƐƚĐŽŵŵŽŶďƵŝůƚͲŝŶǀĂƌŝĂďůĞƚLJƉĞƐ ϯϴ
dŝŵĞĨŽƌĂĐƟŽŶʹĂƐƐŝŐŶŝŶŐǀĂůƵĞƐǁŚŝůĞĚĞĐůĂƌŝŶŐƚŚĞǀĂƌŝĂďůĞ ϯϴ
tŚĞƌĞLJŽƵĚĞĐůĂƌĞĂǀĂƌŝĂďůĞŝƐŝŵƉŽƌƚĂŶƚ ϯϵ
sĂƌŝĂďůĞƐĐŽƉĞʹĚĞƚĞƌŵŝŶŝŶŐǁŚĞƌĞĂǀĂƌŝĂďůĞĐĂŶďĞƵƐĞĚ ϰϬ
^ƵŵŵĂƌLJ ϰϮ
ŚĂƉƚĞƌϰ͗'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ ϰϯ
ŶĚŝŶŐĂŵĞƚŚŽĚĚĞĮŶŝƟŽŶƵƐŝŶŐĐƵƌůLJďƌĂĐĞƐ ϰϰ
hƐŝŶŐŵĞƚŚŽĚƐŝŶĂƐĐƌŝƉƚ ϰϰ
EĂŵŝŶŐŵĞƚŚŽĚƐƉƌŽƉĞƌůLJ ϰϰ
ĞŐŝŶŵĞƚŚŽĚŶĂŵĞƐǁŝƚŚĂŶƵƉƉĞƌĐĂƐĞůĞƩĞƌ ϰϱ
hƐŝŶŐŵƵůƟͲǁŽƌĚŶĂŵĞƐĨŽƌĂŵĞƚŚŽĚ ϰϱ
WĂƌĞŶƚŚĞƐĞƐĂƌĞƉĂƌƚŽĨƚŚĞŵĞƚŚŽĚŶĂŵĞ ϰϱ
[ ii ]
½ ¾ ¿ À Á Â Ã Ä Â Å Æ Á Å Æ Ç
ĞĮŶŝŶŐĂŵĞƚŚŽĚƉƌŽƉĞƌůLJ ϰϱ
dŚĞŵŝŶŝŵƵŵƌĞƋƵŝƌĞŵĞŶƚƐĨŽƌĚĞĮŶŝŶŐĂŵĞƚŚŽĚ ϰϲ
hŶĚĞƌƐƚĂŶĚŝŶŐƉĂƌĞŶƚŚĞƐĞƐʹǁŚLJĂƌĞƚŚĞLJƚŚĞƌĞ͍ ϰϳ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚŝŶŐĐŽĚĞďĞƚǁĞĞŶƚŚĞƉĂƌĞŶƚŚĞƐĞƐ ϰϳ
^ƉĞĐŝĨLJŝŶŐĂŵĞƚŚŽĚΖƐƉĂƌĂŵĞƚĞƌƐ ϰϴ
,ŽǁŵĂŶLJƉĂƌĂŵĞƚĞƌƐĐĂŶĂŵĞƚŚŽĚŚĂǀĞ͍ ϰϵ
ĂůůŝŶŐĂŵĞƚŚŽĚ ϰϵ
hƐŝŶŐĂƌŐƵŵĞŶƚƐŝŶƚŚĞƉĂƌĞŶƚŚĞƐĞƐŽĨĂŵĞƚŚŽĚ ϰϵ
ZĞƚƵƌŶŝŶŐĂǀĂůƵĞĨƌŽŵĂŵĞƚŚŽĚ ϱϬ
dŝŵĞĨŽƌĂĐƟŽŶʹƌĞƚƵƌŶŝŶŐĂǀĂůƵĞĨƌŽŵĚĚdǁŽEƵŵďĞƌƐ;Ϳ ϱϭ
ĂůůŝŶŐĂŵĞƚŚŽĚŝƐĂůŽŐŝĐĚĞƚŽƵƌ ϱϰ
hƐŝŶŐhŶŝƚLJΖƐhƉĚĂƚĞĂŶĚ^ƚĂƌƚŵĞƚŚŽĚƐ ϱϰ
dŚĞ^ƚĂƌƚŵĞƚŚŽĚŝƐĐĂůůĞĚŽŶĞƟŵĞ ϱϱ
Ñ ´ µ Í º ¯ É ¬ µ Ê µ ¬ ´ ® ¯ ² Ï ± É ¹ ¹ µ ¯ ® ¸ µ É « ¯ ® ¸ µ É « ¯ ® ¸ µ Ò ¼ ¼
^ƵŵŵĂƌLJ ϱϲ
ŚĂƉƚĞƌϱ͗DĂŬŝŶŐĞĐŝƐŝŽŶƐŝŶŽĚĞ ϱϳ
dĞƐƟŶŐĐŽŶĚŝƟŽŶƐǁŝƚŚĂŶŝĨƐƚĂƚĞŵĞŶƚ ϱϴ
dĞƐƟŶŐŝĨĐŽŶĚŝƟŽŶƐĂƌĞƚƌƵĞŽƌĨĂůƐĞ ϱϴ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƚĞĂĐŽƵƉůĞŽĨŝĨƐƚĂƚĞŵĞŶƚƐ ϱϴ
hƐŝŶŐƚŚĞEKdŽƉĞƌĂƚŽƌƚŽĐŚĂŶŐĞƚŚĞĐŽŶĚŝƟŽŶ ϲϬ
ŚĞĐŬŝŶŐŵĂŶLJĐŽŶĚŝƟŽŶƐŝŶĂŶŝĨƐƚĂƚĞŵĞŶƚ ϲϬ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƚĞŝĨƐƚĂƚĞŵĞŶƚƐǁŝƚŚŵŽƌĞƚŚĂŶŽŶĞĐŽŶĚŝƟŽŶƚŽĐŚĞĐŬ ϲϬ
hƐŝŶŐĂŶŝĨͲĞůƐĞƐƚĂƚĞŵĞŶƚƚŽĞdžĞĐƵƚĞĂůƚĞƌŶĂƚĞĐŽĚĞ ϲϯ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚΗĞůƐĞΗƚŽƚŚĞŝĨƐƚĂƚĞŵĞŶƚ ϲϯ
DĂŬŝŶŐĚĞĐŝƐŝŽŶƐďĂƐĞĚŽŶƵƐĞƌŝŶƉƵƚ ϲϱ
^ƚŽƌŝŶŐĚĂƚĂŝŶĂŶĂƌƌĂLJ͕Ă>ŝƐƚ͕ŽƌĂŝĐƟŽŶĂƌLJ ϲϲ
^ƚŽƌŝŶŐŝƚĞŵƐŝŶĂŶĂƌƌĂLJ ϲϲ
^ƚŽƌŝŶŐŝƚĞŵƐŝŶĂ>ŝƐƚ ϲϴ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƚĞĂ>ŝƐƚŽĨƉŽŶLJŶĂŵĞƐ ϲϴ
^ƚŽƌŝŶŐŝƚĞŵƐŝŶĂŝĐƟŽŶĂƌLJ ϳϯ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƚĞĂĚŝĐƟŽŶĂƌLJŽĨƉŽŶLJŶĂŵĞƐĂŶĚŬĞLJƐ ϳϯ
hƐŝŶŐĂŽůůĞĐƟŽŶ/ŶŝƟĂůŝnjĞƌƚŽĂĚĚŝƚĞŵƐƚŽĂ>ŝƐƚŽƌŝĐƟŽŶĂƌLJ ϳϱ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚŝŶŐƉŽŶŝĞƐƵƐŝŶŐĂŽůůĞĐƟŽŶ/ŶŝƟĂůŝnjĞƌ ϳϱ
>ŽŽƉŝŶŐƚŚŽƵŐŚůŝƐƚƐƚŽŵĂŬĞĚĞĐŝƐŝŽŶƐ ϳϳ
hƐŝŶŐƚŚĞĨŽƌĞĂĐŚůŽŽƉ ϳϳ
dŝŵĞĨŽƌĂĐƟŽŶʹƵƐŝŶŐĨŽƌĞĂĐŚůŽŽƉƐƚŽƌĞƚƌŝĞǀĞĚĂƚĂ ϳϳ
hƐŝŶŐƚŚĞĨŽƌůŽŽƉ ϴϭ
dŝŵĞĨŽƌĂĐƟŽŶʹƐĞůĞĐƟŶŐĂƉŽŶLJĨƌŽŵĂ>ŝƐƚƵƐŝŶŐĂĨŽƌůŽŽƉ ϴϭ
hƐŝŶŐƚŚĞǁŚŝůĞůŽŽƉ ϴϰ
dŝŵĞĨŽƌĂĐƟŽŶʹĮŶĚŝŶŐĚĂƚĂĂŶĚďƌĞĂŬŽƵƚŽĨƚŚĞǁŚŝůĞůŽŽƉ ϴϰ
^ƵŵŵĂƌLJ ϴϳ
[ iii ]
½ ¾ ¿ À Á Â Ã Ä Â Å Æ Á Å Æ Ç
ŚĂƉƚĞƌϲ͗hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ ϴϵ
hƐŝŶŐŽƚ^LJŶƚĂdžŝƐůŝŬĞĂĚĚƌĞƐƐŝŶŐĂůĞƩĞƌ ϵϬ
^ŝŵƉůŝĨLJŝŶŐƚŚĞĚŽƚƐŝŶŽƚ^LJŶƚĂdž ϵϬ
hƐŝŶŐĂĐĐĞƐƐŵŽĚŝĮĞƌƐĨŽƌǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ ϵϭ
tŽƌŬŝŶŐǁŝƚŚŽďũĞĐƚƐŝƐĂĐůĂƐƐĂĐƚ ϵϭ
hƐŝŶŐŽƚ^LJŶƚĂdžŝŶĂƐĐƌŝƉƚ ϵϯ
ĐĐĞƐƐŝŶŐĂŽŵƉŽŶĞŶƚΖƐŽǁŶǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ ϵϯ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĐĐĞƐƐŝŶŐĂǀĂƌŝĂďůĞŝŶƚŚĞĐƵƌƌĞŶƚŽŵƉŽŶĞŶƚ ϵϰ
ĐĐĞƐƐŝŶŐĂŶŽƚŚĞƌŽŵƉŽŶĞŶƚŽŶƚŚĞĐƵƌƌĞŶƚ'ĂŵĞKďũĞĐƚ ϵϳ
dŝŵĞĨŽƌĂĐƟŽŶʹĐŽŵŵƵŶŝĐĂƟŶŐǁŝƚŚĂŶŽƚŚĞƌŽŵƉŽŶĞŶƚŽŶƚŚĞDĂŝŶĂŵĞƌĂ ϵϳ
Ó ± ± µ Ï Ï ² « ³ ® ¬ ´ µ Ô É Ê µ Õ Ë Ö µ ± ¬ Ï É « ¯ ¬ ´ µ ² × ® Ê º ® « µ « ¬ Ï » Ø »
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƟŶŐƚǁŽ'ĂŵĞKďũĞĐƚƐĂŶĚĂŶĞǁƐĐƌŝƉƚ ϭϬϮ
ĐĐĞƐƐŝŶŐ'ĂŵĞKďũĞĐƚƐƵƐŝŶŐĚƌĂŐͲĂŶĚͲĚƌŽƉǀĞƌƐƵƐǁƌŝƟŶŐĐŽĚĞ ϭϬϴ
dŝŵĞĨŽƌĂĐƟŽŶʹƚƌLJŝŶŐĚƌĂŐͲĂŶĚͲĚƌŽƉƚŽĂƐƐŝŐŶĂ'ĂŵĞKďũĞĐƚ ϭϬϴ
^ƵŵŵĂƌLJ ϭϬϵ
ŚĂƉƚĞƌϳ͗ƌĞĂƟŶŐƚŚĞ'ĂŵĞƉůĂLJŝƐ:ƵƐƚĂWĂƌƚŽĨƚŚĞ'ĂŵĞ ϭϭϭ
ƉƉůLJŝŶŐLJŽƵƌŶĞǁĐŽĚŝŶŐƐŬŝůůƐƚŽĂ^ƚĂƚĞDĂĐŚŝŶĞ ϭϭϮ
hŶĚĞƌƐƚĂŶĚŝŶŐƚŚĞĐŽŶĐĞƉƚƐŽĨĂ^ƚĂƚĞDĂĐŚŝŶĞ ϭϭϮ
ĞŶĞĮƚƐŽĨďLJƵƐŝŶŐĂ^ƚĂƚĞDĂĐŚŝŶĞ ϭϭϯ
&ŽůůŽǁŝŶŐƚŚĞ^ƚĂƚĞDĂĐŚŝŶĞůŽŐŝĐŇŽǁ ϭϭϰ
ĞůĞŐĂƟŶŐŐĂŵĞĐŽŶƚƌŽůƚŽĂ^ƚĂƚĞ ϭϭϰ
^ǁŝƚĐŚŝŶŐƚŽĂŶŽƚŚĞƌ^ƚĂƚĞǁŚĞŶĐĂůůĞĚƚŽĚŽƐŽ ϭϭϱ
<ĞĞƉŝŶŐƚƌĂĐŬŽĨƚŚĞĂĐƟǀĞ^ƚĂƚĞ ϭϭϲ
ƌĞĂƟŶŐŽŵƉŽŶĞŶƚƐŽďũĞĐƚƐĂŶĚηŽďũĞĐƚƐ ϭϭϳ
hŶŝƚLJĐƌĞĂƚĞƐŽŵƉŽŶĞŶƚƐďĞŚŝŶĚƚŚĞƐĐĞŶĞƐ ϭϭϳ
/ŶƐƚĂŶƟĂƚĞĂĐůĂƐƐƚŽĐƌĞĂƚĞĂŶŽďũĞĐƚ ϭϭϳ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƟŶŐĂƐĐƌŝƉƚĂŶĚĂĐůĂƐƐ ϭϭϴ
dŝŵĞĨŽƌĂĐƟŽŶʹŝŶƐƚĂŶƟĂƟŶŐƚŚĞĞŐŝŶ^ƚĂƚĞĐůĂƐƐ ϭϮϭ
^ƉĞĐŝĨLJŝŶŐĂĮůĞΖƐůŽĐĂƟŽŶǁŝƚŚĂŶĂŵĞƐƉĂĐĞĚĞĐůĂƌĂƟŽŶ ϭϮϮ
>ŽĐĂƟŶŐĐŽĚĞĮůĞƐǁŝƚŚĂƵƐŝŶŐƐƚĂƚĞŵĞŶƚ ϭϮϯ
/ŶƚƌŽĚƵĐŝŶŐƚŚĞηŝŶƚĞƌĨĂĐĞ ϭϮϯ
dŚĞ^ƚĂƚĞDĂĐŚŝŶĞĂŶĚƚŚĞŝŶƚĞƌĨĂĐĞŐƵĂƌĂŶƚĞĞ ϭϮϰ
dŝŵĞĨŽƌĂĐƟŽŶʹŝŵƉůĞŵĞŶƟŶŐĂŶŝŶƚĞƌĨĂĐĞ ϭϮϰ
^ƵŵŵĂƌLJ ϭϮϴ
ŚĂƉƚĞƌϴ͗ĞǀĞůŽƉŝŶŐƚŚĞ^ƚĂƚĞDĂĐŚŝŶĞ ϭϮϵ
ƌĞĂƟŶŐĨŽƵƌ^ƚĂƚĞĐůĂƐƐĞƐ ϭϯϬ
dŝŵĞĨŽƌĂĐƟŽŶʹŵŽĚLJŝĮŶŐĞŐŝŶ^ƚĂƚĞĂŶĚĂĚĚƚŚƌĞĞŵŽƌĞ^ƚĂƚĞƐ ϭϯϬ
^ĞƫŶŐƵƉƚŚĞ^ƚĂƚĞDĂŶĂŐĞƌĐŽŶƚƌŽůůĞƌ ϭϯϮ
^ƚƵĚLJŝŶŐĂŶĞdžĂŵƉůĞŽĨŝŶŚĞƌŝƚĂŶĐĞ ϭϯϰ
ŶƚĞƌƚŚĞ/^ƚĂƚĞĂƐĞŝŶƚĞƌĨĂĐĞĂŐĂŝŶ ϭϯϲ
[ iv ]
½ ¾ ¿ À Á Â Ã Ä Â Å Æ Á Å Æ Ç
dŝŵĞĨŽƌĂĐƟŽŶʹŵŽĚŝĨLJ^ƚĂƚĞDĂŶĂŐĞƌ ϭϯϳ
ĚĚŝŶŐĂŶŽƚŚĞƌ^ƚĂƚĞ ϭϰϮ
dŝŵĞĨŽƌĂĐƟŽŶʹŵŽĚŝĨLJŝŶŐWůĂLJ^ƚĂƚĞƚŽĂĚĚĂŶŽƚŚĞƌ^ƚĂƚĞ ϭϰϮ
ĚĚŝŶŐKŶ'h/ƚŽƚŚĞ^ƚĂƚĞDĂŶĂŐĞƌĐůĂƐƐ ϭϰϯ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚŝŶŐKŶ'h/;ͿƚŽ^ƚĂƚĞDĂŶĂŐĞƌ ϭϰϯ
ŚĂŶŐŝŶŐƚŚĞĂĐƟǀĞ^ƚĂƚĞĂŶĚĐŽŶƚƌŽůůŝŶŐƚŚĞ^ĐĞŶĞ ϭϰϰ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚŝŶŐ'ĂŵĞKďũĞĐƚƐĂŶĚĂďƵƩŽŶƚŽƚŚĞ^ĐĞŶĞ ϭϰϰ
WĂƵƐŝŶŐƚŚĞŐĂŵĞ^ĐĞŶĞ ϭϰϱ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚŝŶŐĐŽĚĞƚŽƉĂƵƐĞƚŚĞŐĂŵĞ^ĐĞŶĞ ϭϰϲ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƟŶŐĂƟŵĞƌŝŶĞŐŝŶ^ƚĂƚĞ ϭϰϳ
ŚĂŶŐŝŶŐ^ĐĞŶĞƐ ϭϱϭ
dŝŵĞĨŽƌĂĐƟŽŶʹƐĞƫŶŐƵƉĂŶŽƚŚĞƌ^ĐĞŶĞ ϭϱϮ
ŚĂŶŐŝŶŐ^ĐĞŶĞƐĚĞƐƚƌŽLJƐƚŚĞĞdžŝƐƟŶŐ'ĂŵĞKďũĞĐƚƐ ϭϱϯ
<ĞĞƉŝŶŐ'ĂŵĞDĂŶĂŐĞƌďĞƚǁĞĞŶƐĐĞŶĞƐ ϭϱϯ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚŝŶŐƚŚĞǁĂŬĞŵĞƚŚŽĚƚŽ^ƚĂƚĞDĂŶĂŐĞƌ ϭϱϰ
× ´ É « ³ ² « ³ ¬ ´ µ Ù ± µ « µ Ï » ¼ ¼
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚŝŶŐƚŚĞĐŽĚĞƚŽĐŚĂŶŐĞƚŚĞ^ĐĞŶĞƐ ϭϱϲ
sĞƌŝĨLJŝŶŐƚŚĞĐŽĚĞŽĨLJŽƵƌĐůĂƐƐĞƐ ϭϱϳ
^ƵŵŵĂƌLJ ϭϲϭ
ŚĂƉƚĞƌϵ͗^ƚĂƌƚƵŝůĚŝŶŐĂ'ĂŵĞĂŶĚ'ĞƚƚŚĞĂƐŝĐ^ƚƌƵĐƚƵƌĞZƵŶŶŝŶŐ ϭϲϯ
ĂƐŝŶŐŝŶƚŽhŶŝƚLJΖƐƐĐƌŝƉƟŶŐĚŽĐƵŵĞŶƚĂƟŽŶ ϭϲϰ
ZĞĂĚŝŶŐƚŚĞhŶŝƚLJZĞĨĞƌĞŶĐĞDĂŶƵĂůĮƌƐƚ ϭϲϱ
&ŝŶĚŝŶŐĐŽĚĞĞdžĂŵƉůĞƐŝŶƚŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞĂƐŶĞĞĚĞĚ ϭϲϱ
^ĞƚƵƉƚŚĞ^ƚĂƚĞDĂĐŚŝŶĞĂŶĚĂĚĚĂWůĂLJĞƌ'ĂŵĞKďũĞĐƚ ϭϲϱ
dŝŵĞĨŽƌĂĐƟŽŶʹƐĞƫŶŐƵƉŶŝŶĞ^ƚĂƚĞƐĂŶĚƚŚƌĞĞ^ĐĞŶĞƐ ϭϲϳ
ĂůůŝŶŐƚŚĞZĞƐƚĂƌƚŵĞƚŚŽĚŽĨƚŚĞ^ƚĂƚĞDĂŶĂŐĞƌ ϭϲϵ
ĚĚĂWůĂLJĞƌ'ĂŵĞKďũĞĐƚ ϭϳϬ
WůĂĐŝŶŐĂŶĚƵƐŝŶŐƚŚĞWůĂLJĞƌŽůůŝĚĞƌ ϭϳϭ
WůĂĐŝŶŐĂŶĚƵƐŝŶŐƚŚĞ^ƉŚĞƌĞŽůůŝĚĞƌ ϭϳϭ
dŝŵĞĨŽƌĂĐƟŽŶͲĂĚĚŝŶŐĂWůĂLJĞƌ'ĂŵĞKďũĞĐƚ ϭϳϮ
^ƚŽƌŝŶŐŐĂŵĞĚĂƚĂŝŶŝƚƐŽǁŶƐĐƌŝƉƚ ϭϳϮ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƟŶŐĂ'ĂŵĞĂƚĂƐĐƌŝƉƚ ϭϳϯ
ŝƐƉůĂLJŝŶŐƚŚĞƐƉůĂƐŚƐĐƌĞĞŶƐ ϭϳϰ
ŽŶƚƌŽůůŝŶŐƚŚĞWůĂLJĞƌ'ĂŵĞKďũĞĐƚ ϭϳϵ
dŝŵĞĨŽƌĂĐƟŽŶʹƌŽƚĂƟŶŐWůĂLJĞƌŝŶ^ĞƚƵƉ^ƚĂƚĞ ϭϴϬ
ĚĚŝŶŐƚŚĞWůĂLJĞƌŽůŽƌŽƉƟŽŶ ϭϴϯ
dŝŵĞĨŽƌĂĐƟŽŶʹĐŚĂŶŐŝŶŐƚŚĞĐŽůŽƌƵƐŝŶŐ'h/ďƵƩŽŶƐ ϭϴϰ
ĚĚŝŶŐƚŚĞ>ŝǀĞƐŽƉƟŽŶĨŽƌWůĂLJĞƌ ϭϴϳ
dŝŵĞĨŽƌĂĐƟŽŶʹƐĞƫŶŐƚŚĞ>ŝǀĞƐĨŽƌWůĂLJĞƌ ϭϴϳ
^ƵŵŵĂƌLJ ϭϵϭ
[v]
½ ¾ ¿ À Á Â Ã Ä Â Å Æ Á Å Æ Ç
ŚĂƉƚĞƌϭϬ͗DŽǀŝŶŐƌŽƵŶĚ͕ŽůůŝƐŝŽŶƐ͕ĂŶĚ<ĞĞƉŝŶŐ^ĐŽƌĞ ϭϵϯ
sŝƐƵĂůŝnjŝŶŐƚŚĞĐŽŵƉůĞƚĞĚŐĂŵĞ ϭϵϰ
^ǁŝƚĐŚŝŶŐƚŽƚŚĞĮƌƐƚƉůĂLJ^ƚĂƚĞĂŶĚƉůĂLJĂďůĞƐĐĞŶĞ ϭϵϰ
>ŽĂĚŝŶŐ^ĐĞŶĞϭƵƐŝŶŐĐŽĚĞ ϭϵϱ
ĚĚŝŶŐĐĂŵĞƌĂƐĨŽƌĚŝīĞƌĞŶƚǀŝĞǁŝŶŐŽƉƟŽŶƐ ϭϵϲ
dŝŵĞĨŽƌĂĐƟŽŶʹƐĞƫŶŐƵƉƚǁŽĂĚĚŝƟŽŶĂůĐĂŵĞƌĂƐŝŶƚŚĞƐĐĞŶĞ ϭϵϲ
ƩĂĐŚŝŶŐƐĐƌŝƉƚƐƚŽƚŚĞŶĞǁĐĂŵĞƌĂƐ ϭϵϵ
dŝŵĞĨŽƌĂĐƟŽŶŝŶŐʹĂƩĂĐŚƚŚĞ>ŽŽŬƚWůĂLJĞƌĐĂŵĞƌĂƐĐƌŝƉƚ ϭϵϵ
dŝŵĞĨŽƌĂĐƟŽŶʹĂƩĂĐŚŝŶŐƚŚĞ&ŽůůŽǁŝŶŐWůĂLJĞƌĐĂŵĞƌĂƐĐƌŝƉƚ ϮϬϬ
DŽǀŝŶŐƚŚĞWůĂLJĞƌƵƐŝŶŐZŝŐŝĚďŽĚLJƉŚLJƐŝĐƐ ϮϬϭ
dŝŵĞĨŽƌĂĐƟŽŶʹĂĚĚŝŶŐĂZŝŐŝĚďŽĚLJƚŽƚŚĞWůĂLJĞƌ ϮϬϮ
<ĞĞƉŝŶŐƐĐŽƌĞĚƵƌŝŶŐƚŚĞŐĂŵĞ ϮϬϰ
/ŶŝƟĂůŝnjŝŶŐƚŚĞƐĐŽƌŝŶŐƐLJƐƚĞŵ ϮϬϱ
<ĞĞƉŝŶŐƐĐŽƌĞŝŶƚŚĞ^ĐĞŶĞϭƉůĂLJ^ƚĂƚĞ ϮϬϳ
>ŽƐŝŶŐƚŚĞŐĂŵĞŝŶ^ĐĞŶĞϭ ϮϬϳ
tŝŶŶŝŶŐƚŚĞůĞǀĞůŝŶ^ĐĞŶĞϭ ϮϬϴ
ĞƚĞƌŵŝŶŝŶŐŚŽǁƚŽǁŝŶŽƌůŽƐĞ ϮϭϬ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƟŶŐĂŐŽŽĚĂŶĚďĂĚƉƌĞĨĂď ϮϭϬ
^ĐŽƌŝŶŐĨŽƌƚŚĞǁŝŶ ϮϭϬ
>ŽƐŝŶŐǁŚĞŶWůĂLJĞƌĐƌĂƐŚĞƐ Ϯϭϭ
^ŚŽŽƟŶŐƉƌŽũĞĐƟůĞƐĂƚƚŚĞŽƌďƐ ϮϭϮ
dŝŵĞĨŽƌĂĐƟŽŶʹĐƌĞĂƟŶŐƚŚĞŶĞƌŐLJWƵůƐĞƉƌĞĨĂď ϮϭϮ
^ŚŽŽƟŶŐĂƐŝŶŐůĞͲƐŚŽƚŶĞƌŐLJWƵůƐĞ Ϯϭϰ
^ŚŽŽƟŶŐƌĂƉŝĚͲĮƌĞŶĞƌŐLJWƵůƐĞƐ Ϯϭϰ
dŚĞŶĞƌŐLJWƵůƐĞŝƐĮƌĞĚ Ϯϭϱ
ŽŶƚƌŽůůŝŶŐŶĞƌŐLJWƵůƐĞŽďũĞĐƚƐ Ϯϭϲ
^ƵŵŵĂƌLJ Ϯϭϵ
ŚĂƉƚĞƌϭϭ͗^ƵŵŵĂƌŝnjŝŶŐzŽƵƌEĞǁŽĚŝŶŐ^ŬŝůůƐ ϮϮϭ
ŽĚŝŶŐĂhŶŝƚLJWƌŽũĞĐƚ ϮϮϮ
tŽƌŬŝŶŐǁŝƚŚŽďũĞĐƚƐ ϮϮϮ
^ĐƌĂƚĐŚŝŶŐƚŚĞƐƵƌĨĂĐĞŽĨηƉƌŽŐƌĂŵŵŝŶŐ ϮϮϯ
Ú ® ® Û ² « ³ É ¬ µ ¸ µ « Ê ® µ × Ü Ý µ É ¬ ° µ Ï Ì Ì Ð
>ŽŽŬŝŶŐĂƚĞǀĞŶŵŽƌĞhŶŝƚLJĨĞĂƚƵƌĞƐ ϮϮϰ
ŽŶƚƌŽůůŝŶŐƚŚĞŐĂŵĞǁŝƚŚĂ^ƚĂƚĞDĂĐŚŝŶĞ ϮϮϰ
hƐŝŶŐĂ^ƚĂƚĞDĂĐŚŝŶĞŝƐĂĚĞƐŝŐŶƉĂƩĞƌŶĐŚŽŝĐĞ ϮϮϱ
Í Ï ² « ³ ¬ ´ µ Ù ¬ É ¬ µ ¶ É ± ´ ² « µ É ¬ ¬ ´ µ Ô É Ê µ Õ Ë Ö µ ± ¬ ¹ µ ¸ µ ¹ Ì Ì ¼
WƵůůŝŶŐĂůůƚŚĞůŝƩůĞηƉŝĞĐĞƐƚŽŐĞƚŚĞƌ ϮϮϲ
>ĞĂƌŶŝŶŐŵŽƌĞĂŌĞƌƚŚŝƐŬ ϮϮϲ
sŝƐŝƚŵLJĨĂǀŽƌŝƚĞǁĞďƐŝƚĞĨŽƌη ϮϮϳ
sŝƐŝƚŵLJĨĂǀŽƌŝƚĞǁĞďƐŝƚĞƐĨŽƌhŶŝƚLJĐŽĚŝŶŐ͗ ϮϮϳ
^ƵŵŵĂƌLJ ϮϮϳ
[ vi ]
½ ¾ ¿ À Á Â Ã Ä Â Å Æ Á Å Æ Ç
ƉƉĞŶĚŝdž͗/ŶŝƟĂů^ƚĂƚĞDĂĐŚŝŶĞĮůĞƐ ϮϮϵ
ĞŐŝŶ^ƚĂƚĞ ϮϯϬ
^ĞƚƵƉ^ƚĂƚĞ ϮϯϬ
WůĂLJ^ƚĂƚĞ^ĐĞŶĞϭͺϭ͗;ϭŽĨϮĂǀĂŝůĂďůĞ^ƚĂƚĞƐŝŶ^ĐĞŶĞϭͿ Ϯϯϭ
WůĂLJ^ƚĂƚĞ^ĐĞŶĞϭͺϮ͗;ϮŽĨϮĂǀĂŝůĂďůĞ^ƚĂƚĞƐŝŶ^ĐĞŶĞϭͿ ϮϯϮ
tŽŶ^ƚĂƚĞ^ĐĞŶĞϭ Ϯϯϯ
>ŽƐƚ^ƚĂƚĞ^ĐĞŶĞϭ Ϯϯϰ
WůĂLJ^ƚĂƚĞ^ĐĞŶĞϮ Ϯϯϱ
tŽŶ^ƚĂƚĞ^ĐĞŶĞϮ Ϯϯϲ
>ŽƐƚ^ƚĂƚĞ^ĐĞŶĞϮ Ϯϯϲ
^ƚĂƚĞDĂŶĂŐĞƌ Ϯϯϳ
/^ƚĂƚĞĂƐĞ Ϯϯϵ
ƉƉĞŶĚŝdž͗ŽŵƉůĞƚĞĚĐŽĚĞĮůĞƐĨŽƌŚĂƉƚĞƌƐϵĂŶĚϭϬ Ϯϰϭ
ĞŐŝŶ^ƚĂƚĞ Ϯϰϭ
^ĞƚƵƉ^ƚĂƚĞ ϮϰϮ
WůĂLJ^ƚĂƚĞ^ĐĞŶĞϭͺϭ͗;ϭŽĨϮĂǀĂŝůĂďůĞ^ƚĂƚĞƐŝŶ^ĐĞŶĞϭͿ Ϯϰϰ
WůĂLJ^ƚĂƚĞ^ĐĞŶĞϭͺϮ͗;ϮŽĨϮĂǀĂŝůĂďůĞ^ƚĂƚĞƐŝŶ^ĐĞŶĞϭͿ Ϯϰϲ
tŽŶ^ƚĂƚĞ^ĐĞŶĞϭ Ϯϰϳ
>ŽƐƚ^ƚĂƚĞ^ĐĞŶĞϭ Ϯϰϴ
WůĂLJ^ƚĂƚĞ^ĐĞŶĞϮ Ϯϰϵ
tŽŶ^ƚĂƚĞ^ĐĞŶĞϮ Ϯϱϭ
>ŽƐƚ^ƚĂƚĞ^ĐĞŶĞϮ ϮϱϮ
^ƚĂƚĞDĂŶĂŐĞƌ Ϯϱϯ
WůĂLJĞƌŽŶƚƌŽů Ϯϱϰ
'ĂŵĞĂƚĂ Ϯϱϲ
>ŽŽŬƚWůĂLJĞƌ Ϯϱϳ
&ŽůůŽǁŝŶŐWůĂLJĞƌ Ϯϱϴ
ŶĞƌŐLJWƵůƐĞWŽǁĞƌ Ϯϱϴ
/^ƚĂƚĞĂƐĞ Ϯϱϵ
ƉƉĞŶĚŝdž͗WŽƉYƵŝnjŶƐǁĞƌƐ Ϯϲϭ
/ŶĚĞdž Ϯϲϳ
[ vii ]
3UHIDFH
@ / 2 - 1 9 ? = A : + F A + @ A + E 2 1 A F + ? 2 , + , < > 9 . 0 9 F A A @ 0 / @ A ? E + . C A B A > + , A . ? G E . + F 2 1 A 9 F 9 2 A < .
)
ŚŽďďLJŝƐƚƚŽƚŚĞƉƌŽĨĞƐƐŝŽŶĂůǁŽƌŬŝŶŐŝŶĂůĂƌŐĞƐƚƵĚŝŽ͘hŶŝƚLJƵƐĞĚƚŽďĞĐŽŶƐŝĚĞƌĞĚĂϯƚŽŽů͕
ďƵƚǁŝƚŚƚŚĞƌĞůĞĂƐĞŽĨhŶŝƚLJϰ͘ϯ͕ŝƚŶŽǁŚĂƐĚĞĚŝĐĂƚĞĚϮƚŽŽůƐ͘dŚŝƐǁŝůůĞdžƉĂŶĚhŶŝƚLJΖƐƵƐĞ
A B A @ F + . A D
ĞǀĞůŽƉĞƌƐůŽǀĞŝƚƐŽďũĞĐƚͲŽƌŝĞŶƚĞĚĚƌĂŐͲĂŶĚͲĚƌŽƉƵƐĞƌŝŶƚĞƌĨĂĐĞǁŚŝĐŚŵĂŬĞƐĐƌĞĂƟŶŐĂ
ŐĂŵĞŽƌŝŶƚĞƌĂĐƟǀĞƉƌŽĚƵĐƚƐŽĞĂƐLJ͘ĞƐƉŝƚĞƚŚĞǀŝƐƵĂůĞĂƐĞŽĨǁŽƌŬŝŶŐŝŶhŶŝƚLJ͕ƚŚĞƌĞŝƐĂ
ŶĞĞĚƚŽƵŶĚĞƌƐƚĂŶĚƐŽŵĞďĂƐŝĐƉƌŽŐƌĂŵŵŝŶŐƚŽďĞĂďůĞƚŽǁƌŝƚĞƐĐƌŝƉƚƐĨŽƌ'ĂŵĞKďũĞĐƚƐ͘
&ŽƌŐĂŵĞĚĞǀĞůŽƉĞƌƐƚŚĂƚŚĂǀĞĂŶLJƉƌŽŐƌĂŵŵŝŶŐŬŶŽǁůĞĚŐĞ͕ůĞĂƌŶŝŶŐŚŽǁƚŽǁƌŝƚĞƐĐƌŝƉƚƐ
ŝƐƋƵŝƚĞĞĂƐLJ͘&ŽƌƚŚĞƚŚĞĂƌƟƐƚĐŽŵŝŶŐƚŽhŶŝƚLJ͕ĐƌĞĂƟŶŐƚŚĞǀŝƐƵĂůĂƐƉĞĐƚƐŽĨĂŐĂŵĞŝƐĂ
ďƌĞĞnjĞ͕ďƵƚǁƌŝƟŶŐƐĐƌŝƉƚƐŵĂLJĂƉƉĞĂƌƚŽďĞĂŐŝĂŶƚƌŽĂĚďůŽĐŬ͘
dŚŝƐŬŝƐĨŽƌƚŚŽƐĞǁŝƚŚŶŽĐŽŶĐĞƉƚŽĨƉƌŽŐƌĂŵŵŝŶŐ͘/ŝŶƚƌŽĚƵĐĞƚŚĞďƵŝůĚŝŶŐďůŽĐŬƐ͕ƚŚĂƚ
ŝƐ͕ďĂƐŝĐĐŽŶĐĞƉƚƐŽĨƉƌŽŐƌĂŵŵŝŶŐƵƐŝŶŐĞǀĞƌLJĚĂLJĞdžĂŵƉůĞƐLJŽƵĂƌĞĨĂŵŝůŝĂƌǁŝƚŚ͘ůƐŽ͕ŵLJ
ĂƉƉƌŽĂĐŚƚŽƚĞĂĐŚŝŶŐŝƐŶŽƚǁŚĂƚLJŽƵǁŝůůĮŶĚŝŶƚŚĞƚLJƉŝĐĂůƉƌŽŐƌĂŵŵŝŶŐŬ͘/ŶƚŚĞĞŶĚ͕
LJŽƵǁŝůůůĞĂƌŶƚŚĞďĂƐŝĐƐŽĨη͕ďƵƚ/ǁŝůůƐƉŽŽŶͲĨĞĞĚLJŽƵƚŚĞĚĞƚĂŝůƐĂƐƚŚĞLJĂƌĞŶĞĞĚĞĚ͘
/ǁŝůůƚĂŬĞLJŽƵƚŚƌŽƵŐŚƚŚĞƐƚĞƉƐŶĞĞĚĞĚƚŽĐƌĞĂƚĞĂƐŝŵƉůĞŐĂŵĞ͕ǁŝƚŚƚŚĞĨŽĐƵƐŶŽƚďĞŝŶŐ
ƚŚĞŐĂŵĞŝƚƐĞůĨďƵƚŽŶŚŽǁƚŚĞŵĂŶLJƐĞƉĂƌĂƚĞƐĞĐƟŽŶƐŽĨĐŽĚĞĐŽŵĞƚŽŐĞƚŚĞƌƚŽŵĂŬĞĂ
ǁŽƌŬŝŶŐŐĂŵĞ͘/ǁŝůůĂůƐŽŝŶƚƌŽĚƵĐĞƚŚĞĐŽŶĐĞƉƚŽĨĂ^ƚĂƚĞDĂĐŚŝŶĞƚŽŽƌŐĂŶŝnjĞĐŽĚĞŝŶƚŽ
ƐŝŵƉůĞ͕ŐĂŵĞĐŽŶƚƌŽůůŝŶŐďůŽĐŬƐ͘ƚƚŚĞĞŶĚ͕LJŽƵǁŝůůďĞƐĂLJŝŶŐΗtŽǁ͊/ĐĂŶΖƚďĞůŝĞǀĞŚŽǁ
ĞĂƐLJƚŚĂƚǁĂƐ͊Η
á â
ŶĞĞĚƚŽĚŽŝƐŽǀĞƌĐŽŵĞLJŽƵƌƉĞƌĐĞŝǀĞĚĨĞĂƌŽĨǁƌŝƟŶŐƐĐƌŝƉƚƐ͘zŽƵΖůůƐĞĞƚŚĂƚǁƌŝƟŶŐƐĐƌŝƉƚƐ
ŝƐǀĞƌLJƐŝŵŝůĂƌƚŽŵĂŶLJŽĨLJŽƵƌĚĂŝůLJƌŽƵƟŶĞƐ͘tĞĂůƐŽŚĂǀĞĂĮƌƐƚůŽŽŬĂƚhŶŝƚLJΖƐƐĐƌŝƉƟŶŐ
ĚŽĐƵŵĞŶƚĂƟŽŶ͘&ŝŶĂůůLJ͕ǁĞƐĞĞŚŽǁƚŽĐƌĞĂƚĞĂηƐĐƌŝƉƚĮůĞŝŶhŶŝƚLJ͘
ã ä Á Ã ¾ å Á
/ŶƚƌŽĚƵĐŝŶŐƚŚĞƵŝůĚŝŶŐůŽĐŬƐĨŽƌhŶŝƚLJ^ĐƌŝƉƚƐ͕ĞdžƉůĂŝŶƐƚŚĂƚƚŚĞƌĞĂƌĞƚǁŽ
Þ ß à 4 G
á
ƉƌŝŵĂƌLJďƵŝůĚŝŶŐďůŽĐŬƐĨŽƌǁƌŝƟŶŐĐŽĚĞ͕ǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͘dŚŝƐĐŚĂƉƚĞƌŝŶƚƌŽĚƵĐĞƐ
ƚŚĞĐŽŶĐĞƉƚƐŽĨĂǀĂƌŝĂďůĞĂŶĚĂŵĞƚŚŽĚ͘tŝƚŚƚŚĞƐĞƚǁŽďƵŝůĚŝŶŐďůŽĐŬƐ͕ǁĞůŽŽŬŝŶƚŽƚŚĞ
ĐŽŶĐĞƉƚŽĨĂΗĐůĂƐƐ͕ΗĂĐŽŶƚĂŝŶĞƌŽĨǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐƵƐĞĚƚŽĐƌĞĂƚĞhŶŝƚLJŽŵƉŽŶĞŶƚƐ͘
&ŝŶĂůůLJ͕ĐŽŵŵƵŶŝĐĂƟŽŶďĞƚǁĞĞŶ'ĂŵĞKďũĞĐƚƐŝƐĚŝƐĐƵƐƐĞĚďLJŝŶƚƌŽĚƵĐŝŶŐŽƚ^LJŶƚĂdž͘
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ͕ĞdžƉůĂŝŶƐƵƐŝŶŐǀĂƌŝĂďůĞƐŝŶĚĞƚĂŝů͘tĞƐĞĞŚŽǁ
Þ ß à G
á é
ƚŚĞLJΖƌĞƵƐĞĚĨŽƌƐƚŽƌŝŶŐĚĂƚĂ͕ĂŶĚŚŽǁƚŚĞŵĂŐŝĐǁŽƌŬƐƚŽƚƵƌŶǀĂƌŝĂďůĞƐŝŶƚŽŽŵƉŽŶĞŶƚ
ƉƌŽƉĞƌƟĞƐǁŚŝĐŚĂƉƉĞĂƌŝŶƚŚĞhŶŝƚLJ/ŶƐƉĞĐƚŽƌƉĂŶĞů͘
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ͕ĞdžƉůĂŝŶƐŚŽǁŵĞƚŚŽĚƐƉĞƌĨŽƌŵƚŚĞĂĐƟŽŶƐƚŚĂƚ
Þ ß à G
á ê
ƚĂŬĞƉůĂĐĞŽŶ'ĂŵĞKďũĞĐƚƐ͘tĞƐĞĞŚŽǁƚŽĐƌĞĂƚĞĂŶĚƵƐĞŵĞƚŚŽĚƐŝŶĚĞƚĂŝů͘tĞĂůƐŽůŽŽŬŝŶƚŽ
ƚǁŽŽĨhŶŝƚLJΖƐŵŽƐƚŽŌĞŶƵƐĞĚŵĞƚŚŽĚƐ͕ƚŚĞ^ƚĂƌƚ;ͿŵĞƚŚŽĚĂŶĚƚŚĞhƉĚĂƚĞ;ͿŵĞƚŚŽĚ͘
DĂŬŝŶŐĞĐŝƐŝŽŶƐŝŶŽĚĞ͕
Þ ß à G A ì , > 9 / @ ? 2 1 9 2 C < . / @ 0 0 9 F A , > 9 - G C A : / ? / + @ ? 1 9 B A 2 + = A
á ë
ŵĂĚĞĂďŽƵƚŵĂŶLJƚŚŝŶŐƐ͕ũƵƐƚůŝŬĞLJŽƵĚŽŝŶLJŽƵƌĚĂŝůLJůŝĨĞ͘tĞůŽŽŬĂƚŵĂŶLJŽĨƚŚĞǁĂLJƐ
ĐŚŽŝĐĞƐĂƌĞŵĂĚĞĂŶĚƐŽŵĞŽĨƚŚĞĐŽŵŵŽŶƌĞĂƐŽŶƐĨŽƌǁŚŝĐŚĚĞĐŝƐŝŽŶƐĂƌĞƌĞƋƵŝƌĞĚ͘
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ͕ƐŚŽǁƐƵƐǁŚĂƚŽƚ^LJŶƚĂdžĂĐƚƵĂůůLJŝƐ͕
Þ ß à G
á í
ĂƐŝŵƉůĞĂĚĚƌĞƐƐĨŽƌŵĂƚƚŽƌĞƚƌŝĞǀĞŝŶĨŽƌŵĂƟŽŶŽƌƐĞŶĚŝŶĨŽƌŵĂƟŽŶƚŽŽƚŚĞƌŽŵƉŽŶĞŶƚƐ͘
ƌĞĂƟŶŐƚŚĞ'ĂŵĞƉůĂLJŝƐ:ƵƐƚĂWĂƌƚŽĨƚŚĞ'ĂŵĞ͕ƐŚŽǁƐƚŚĂƚĚĞǀĞůŽƉŝŶŐƚŚĞ
Þ ß à G
á î
ŐĂŵĞƉůĂLJŝƐĨƵŶ͕ďƵƚƚŚĞƌĞĂƌĞŽƚŚĞƌƉĂƌƚƐŶĞĞĚĞĚƚŽŵĂŬĞĂĨƵůůLJĨƵŶĐƟŽŶĂůŐĂŵĞ͘tĞůŽŽŬ
ŝŶƚŽƐŽŵĞŽĨƚŚĞƉŽƐƐŝďůĞƉĂƌƚƐŶĞĞĚĞĚĂŶĚŚŽǁƚŽŽƌŐĂŶŝnjĞĂůůƚŚĞƉĂƌƚƐďLJŝŶƚƌŽĚƵĐŝŶŐƚŚĞ
< ? A + E 9 J 2 9 2 A 9 : 1 / @ A D
#
ĞǀĞůŽƉŝŶŐƚŚĞ^ƚĂƚĞDĂĐŚŝŶĞ͕ĐƌĞĂƚĞƐĂƐŝŵƉůĞ^ƚĂƚĞDĂĐŚŝŶĞƚŽƐŚŽǁŚŽǁŝƚ
Þ ß à G
á ï
ǁŽƌŬƐ͕ĂŶĚƐĞĞƚŚĞƐŝŵƉůŝĐŝƚLJŝƚďƌŝŶŐƐĨŽƌĐŽŶƚƌŽůůŝŶŐĂŐĂŵĞ͘tĞƐŚŽǁŚŽǁƚŽĐŚĂŶŐĞ^ĐĞŶĞƐ
ĨŽƌĂŵƵůƟͲůĞǀĞůŐĂŵĞĂŶĚŚŽǁƚŽĚĞĂůǁŝƚŚ'ĂŵĞKďũĞĐƚƐǁŚĞŶĐŚĂŶŐŝŶŐƚŽĂŶŽƚŚĞƌƐĐĞŶĞ͘
^ƚĂƌƚƵŝůĚŝŶŐĂ'ĂŵĞĂŶĚ'ĞƚƚŚĞĂƐŝĐ^ƚƌƵĐƚƵƌĞZƵŶŶŝŶŐ͕ƚĞĂĐŚĞƐƵƐŚŽǁƚŽ
Þ ß à G
á ð
ĂĐĐĞƐƐĂŶĚƵƐĞhŶŝƚLJΖƐ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞĂŶĚƚŚĞZĞĨĞƌĞŶĐĞDĂŶƵĂůĨŽƌƚŚĞĨĞĂƚƵƌĞƐǁĞ
ǁĂŶƚ͘dŚĞŶǁĞďĞŐŝŶĐƌĞĂƟŶŐĂŵƵůƟͲůĞǀĞůŐĂŵĞƵƐŝŶŐƚŚĞƐƚĂƚĞŵĂĐŚŝŶĞĂŶĚƚŚƌĞĞƐĐĞŶĞƐ͘
WůĂLJĞƌ'ĂŵĞKďũĞĐƚŝƐĂĚĚĞĚĂŶĚǁĞůĞĂƌŶŚŽǁƚŽĐŽŶƚƌŽůŝƚ͘
DŽǀŝŶŐƌŽƵŶĚ͕ŽůůŝƐŝŽŶƐ͕ĂŶĚ<ĞĞƉŝŶŐ^ĐŽƌĞ͕ƐŚŽǁƐŚŽǁƚŽŵŽǀĞƚŚĞWůĂLJĞƌ
Þ ß à G
á â ñ
ĂƌŽƵŶĚƵƐŝŶŐhŶŝƚLJΖƐƉŚLJƐŝĐƐƐLJƐƚĞŵ͕ĂŶĚŚĂǀĞĐĂŵĞƌĂƐĨŽůůŽǁƚŚĞWůĂLJĞƌΖƐŵŽǀĞŵĞŶƚƐ͘tĞ
ĚĞǀĞůŽƉĂ'h/ƐĐŽƌŝŶŐƐLJƐƚĞŵ͕ƐƚĂƌƚƐŚŽŽƟŶŐƉƌŽũĞĐƟůĞƐĂƚĞŶĞŵLJŽďũĞĐƚƐ͕ĂŶĚƐĞĞŚŽǁƚŽ
ǁŝŶŽƌůŽƐĞƚŚĞŐĂŵĞ͘hůƟŵĂƚĞůLJ͕ǁĞƐĞĞŚŽǁĂůůƚŚĞƐĞƉĂƌĂƚĞƉŝĞĐĞƐŽĨĐŽĚĞĐŽŵĞƚŽŐĞƚŚĞƌ
ĂŶĚǁŽƌŬƚŽŐĞƚŚĞƌ͘
^ƵŵŵĂƌŝnjŝŶŐzŽƵƌEĞǁŽĚŝŶŐ^ŬŝůůƐ͕ƌĞǀŝĞǁƐƚŚĞŵĂŝŶƉŽŝŶƚƐLJŽƵůĞĂƌŶĞĚĂďŽƵƚ
Þ ß à G
á â â
ƉƌŽŐƌĂŵŵŝŶŐǁŝƚŚηĂŶĚǁŽƌŬŝŶŐǁŝƚŚŽďũĞĐƚƐ͘/ƚĞůůLJŽƵĂďŽƵƚƐŽŵĞŽĨƚŚĞηĂŶĚhŶŝƚLJ
ĨĞĂƚƵƌĞƐLJŽƵŵĂLJǁĂŶƚƚŽůĞĂƌŶŶŽǁƚŚĂƚLJŽƵƵŶĚĞƌƐƚĂŶĚƚŚĞďĂƐŝĐƐŽĨη͘/ǁŝůůŚŝŐŚůŝŐŚƚ
ƚŚĞďĞŶĞĮƚƐŽĨŝŶĐŽƌƉŽƌĂƟŶŐĂƐƚĂƚĞŵĂĐŚŝŶĞŝŶƚŽLJŽƵƌhŶŝƚLJƉƌŽũĞĐƚƐ͘&ŝŶĂůůLJ͕/ƉƌĞƐĞŶƚŵLJ
E 9 B + . / 2 A ? + < . : A ? E + . E < . 2 1 A . > A 9 . @ / @ 0 D
æ ç è
ã ä Á Ã ¾ å Á
ƉƉĞŶĚŝdž /ŶŝƟĂů^ƚĂƚĞŵĂĐŚŝŶĞĮůĞƐ͕ƐŚŽǁƐƚŚĞŝŶŝƟĂůĐŽĚĞĨŽƌƚŚĞĐůĂƐƐĞƐŶĞĞĚĞĚ
G
ĨŽƌĐŚĂŶŐŝŶŐ^ƚĂƚĞƐŝŶŽƵƌŐĂŵĞ͘dŚĞƐĞ^ƚĂƚĞDĂĐŚŝŶĞĐůĂƐƐĞƐĂƌĞƚŚĞƐƚĂƌƟŶŐƉŽŝŶƚĨŽƌ
ŽƌŐĂŶŝnjŝŶŐĂŶĚĂĚĚŝŶŐŐĂŵĞĐŽĚĞ͘
ƉƉĞŶĚŝdž ŽŵƉůĞƚĞĚĐŽĚĞĮůĞƐĨŽƌŚĂƉƚĞƌƐϵĂŶĚϭϬ͕ƐŚŽǁƐĂůůƚŚĞĐůĂƐƐĂŶĚƐĐƌŝƉƚĮůĞƐ
G
:KDW\RXQHHGIRUWKLVERRN
zŽƵŶĞĞĚƚŚĞĨƌĞĞǀĞƌƐŝŽŶŽĨhŶŝƚLJůŽĐĂƚĞĚĂƚhttp://unity3d.com/unity/download/
D
dŚĞDŽŶŽĞǀĞůŽƉĐŽĚĞĞĚŝƚŽƌŝƐŝŶĐůƵĚĞĚŝŶƚŚĞhŶŝƚLJŝŶƐƚĂůůĂƟŽŶ͘
zŽƵƌĐŽŵƉƵƚĞƌǁŝůůŶĞĞĚƚŽŵĞĞƚƚŚĞŵŝŶŝŵƵŵƌĞƋƵŝƌĞŵĞŶƚƐĨŽƌhŶŝƚLJĂƐƐƉĞĐŝĮĞĚĂƚ
http://unity3d.com/unity/system-requirements.html
D
tŝŶĚŽǁƐ͗yW^WϮŽƌůĂƚĞƌ͖DĂĐK^yΗ^ŶŽǁ>ĞŽƉĂƌĚΗϭϬ͘ϲŽƌůĂƚĞƌ͘EŽƚĞƚŚĂƚhŶŝƚLJǁĂƐŶŽƚ
ƚĞƐƚĞĚŽŶƐĞƌǀĞƌǀĞƌƐŝŽŶƐŽĨtŝŶĚŽǁƐĂŶĚK^y͘
'ƌĂƉŚŝĐƐĐĂƌĚǁŝƚŚŝƌĞĐƚyϵůĞǀĞů;ƐŚĂĚĞƌŵŽĚĞůϮ͘ϬͿĐĂƉĂďŝůŝƟĞƐ͘ŶLJĐĂƌĚŵĂĚĞƐŝŶĐĞϮϬϬϰ
ƐŚŽƵůĚǁŽƌŬ͘
:KRWKLVERRNLVIRU
/ĨLJŽƵĚŽŶΖƚŬŶŽǁĂŶLJƚŚŝŶŐĂďŽƵƚƉƌŽŐƌĂŵŵŝŶŐŝŶŐĞŶĞƌĂů͕ǁƌŝƟŶŐĐŽĚĞ͕ǁƌŝƟŶŐƐĐƌŝƉƚƐ͕Žƌ
ŚĂǀĞŶŽŝĚĞĂǁŚĞƌĞƚŽĞǀĞŶďĞŐŝŶ͕ƚŚĞŶƚŚŝƐŬŝƐƉĞƌĨĞĐƚĨŽƌLJŽƵ͘/ĨLJŽƵǁĂŶƚƚŽŵĂŬĞ
ŐĂŵĞƐĂŶĚŶĞĞĚƚŽůĞĂƌŶŚŽǁƚŽǁƌŝƚĞηƐĐƌŝƉƚƐŽƌĐŽĚĞ͕ƚŚĞŶƚŚŝƐŬŝƐŝĚĞĂůĨŽƌLJŽƵ͘
Conventions
/ŶƚŚŝƐŬ͕LJŽƵǁŝůůĮŶĚƐĞǀĞƌĂůŚĞĂĚŝŶŐƐĂƉƉĞĂƌŝŶŐĨƌĞƋƵĞŶƚůLJ͘
dŽŐŝǀĞĐůĞĂƌŝŶƐƚƌƵĐƟŽŶƐŽĨŚŽǁƚŽĐŽŵƉůĞƚĞĂƉƌŽĐĞĚƵƌĞŽƌƚĂƐŬ͕ǁĞƵƐĞ͗
7LPHIRUDFWLRQ²KHDGLQJ
ĐƟŽŶϭ
ó ô
ĐƟŽŶϮ
õ ô
ĐƟŽŶϯ
ö ô
æ ò è
ã ä Á Ã ¾ å Á
/ŶƐƚƌƵĐƟŽŶƐŽŌĞŶŶĞĞĚƐŽŵĞĞdžƚƌĂĞdžƉůĂŶĂƟŽŶƐŽƚŚĂƚƚŚĞLJŵĂŬĞƐĞŶƐĞ͕ƐŽƚŚĞLJĂƌĞ
ĨŽůůŽǁĞĚǁŝƚŚ͗
zŽƵǁŝůůĂůƐŽĮŶĚƐŽŵĞŽƚŚĞƌůĞĂƌŶŝŶŐĂŝĚƐŝŶƚŚĞŬ͕ŝŶĐůƵĚŝŶŐ͗
3RSTXL]²KHDGLQJ
dŚĞƐĞĂƌĞƐŚŽƌƚŵƵůƟƉůĞͲĐŚŽŝĐĞƋƵĞƐƟŽŶƐŝŶƚĞŶĚĞĚƚŽŚĞůƉLJŽƵƚĞƐƚLJŽƵƌŽǁŶƵŶĚĞƌƐƚĂŶĚŝŶŐ͘
+DYHDJRKHUR²KHDGLQJ
dŚĞƐĞƉƌĂĐƟĐĂůĐŚĂůůĞŶŐĞƐŐŝǀĞLJŽƵŝĚĞĂƐĨŽƌĞdžƉĞƌŝŵĞŶƟŶŐǁŝƚŚǁŚĂƚLJŽƵŚĂǀĞůĞĂƌŶĞĚ͘
zŽƵǁŝůůĂůƐŽĮŶĚĂŶƵŵďĞƌŽĨƐƚLJůĞƐŽĨƚĞdžƚƚŚĂƚĚŝƐƟŶŐƵŝƐŚďĞƚǁĞĞŶĚŝīĞƌĞŶƚŬŝŶĚƐŽĨ
ŝŶĨŽƌŵĂƟŽŶ͘,ĞƌĞĂƌĞƐŽŵĞĞdžĂŵƉůĞƐŽĨƚŚĞƐĞƐƚLJůĞƐ͕ĂŶĚĂŶĞdžƉůĂŶĂƟŽŶŽĨƚŚĞŝƌŵĞĂŶŝŶŐ͘
ŽĚĞǁŽƌĚƐŝŶƚĞdžƚ͕ĚĂƚĂďĂƐĞƚĂďůĞŶĂŵĞƐ͕ĨŽůĚĞƌŶĂŵĞƐ͕ĮůĞŶĂŵĞƐ͕ĮůĞĞdžƚĞŶƐŝŽŶƐ͕
ƉĂƚŚŶĂŵĞƐ͕ĚƵŵŵLJhZ>Ɛ͕ƵƐĞƌŝŶƉƵƚ͕ĂŶĚdǁŝƩĞƌŚĂŶĚůĞƐĂƌĞƐŚŽǁŶĂƐĨŽůůŽǁƐ͗ΗtĞ
ĐĂŶŝŶĐůƵĚĞŽƚŚĞƌĐŽŶƚĞdžƚƐƚŚƌŽƵŐŚƚŚĞƵƐĞŽĨƚŚĞŝŶĐůƵĚĞĚŝƌĞĐƟǀĞ͘Η
ďůŽĐŬŽĨĐŽĚĞŝƐƐĞƚĂƐĨŽůůŽǁƐ͗
public BeginState (StateManager managerRef)
{
manager = managerRef;
if(Application.loadedLevelName != "Scene0")
Application.LoadLevel("Scene0");
}
tŚĞŶǁĞǁŝƐŚƚŽĚƌĂǁLJŽƵƌĂƩĞŶƟŽŶƚŽĂƉĂƌƟĐƵůĂƌƉĂƌƚŽĨĂĐŽĚĞďůŽĐŬ͕ƚŚĞƌĞůĞǀĂŶƚůŝŶĞƐ
+ . / 2 A F ? 9 . A ? A 2 / @ = + > C I
if(instanceRef == null)
{
instanceRef = this;
DontDestroyOnLoad(gameObject);
}
ŶLJĐŽŵŵĂŶĚͲůŝŶĞŝŶƉƵƚŽƌŽƵƚƉƵƚŝƐǁƌŝƩĞŶĂƐĨŽůůŽǁƐ͗
# cp /usr/src/asterisk-addons/configs/cdr_mysql.conf.sample
/etc/asterisk/cdr_mysql.conf
æ ÷ è
ã ä Á Ã ¾ å Á
ŽǁŶůŽĂĚŝŶŐƚŚĞĞdžĂŵƉůĞĐŽĚĞ
zŽƵĐĂŶĚŽǁŶůŽĂĚƚŚĞĞdžĂŵƉůĞĐŽĚĞĮůĞƐĨŽƌĂůůWĂĐŬƚŬƐLJŽƵŚĂǀĞƉƵƌĐŚĂƐĞĚ
ĨƌŽŵLJŽƵƌĂĐĐŽƵŶƚĂƚŚƩƉ͗ͬͬǁǁǁ͘ƉĂĐŬƚƉƵď͘ĐŽŵ͘/ĨLJŽƵƉƵƌĐŚĂƐĞĚƚŚŝƐŬ
ĞůƐĞǁŚĞƌĞ͕LJŽƵĐĂŶǀŝƐŝƚŚƩƉ͗ͬͬǁǁǁ͘ƉĂĐŬƚƉƵď͘ĐŽŵͬƐƵƉƉŽƌƚĂŶĚƌĞŐŝƐƚĞƌƚŽŚĂǀĞ
ƚŚĞĮůĞƐ͘ĞͲŵĂŝůĞĚĚŝƌĞĐƚůLJƚŽLJŽƵ͘
EĞǁƚĞƌŵƐ ŝŵƉŽƌƚĂŶƚǁŽƌĚƐĂƌĞƐŚŽǁŶŝŶďŽůĚ͘tŽƌĚƐƚŚĂƚLJŽƵƐĞĞŽŶƚŚĞƐĐƌĞĞŶ͕ŝŶ
9 @ C
ŵĞŶƵƐŽƌĚŝĂůŽŐďŽdžĞƐĨŽƌĞdžĂŵƉůĞ͕ĂƉƉĞĂƌŝŶƚŚĞƚĞdžƚůŝŬĞƚŚŝƐ͗ΗĐůŝĐŬŝŶŐƚŚĞEĞdžƚďƵƩŽŶ
ŵŽǀĞƐLJŽƵƚŽƚŚĞŶĞdžƚƐĐƌĞĞŶΗ͘
ù ú û ü ý ü þ ÿ û ý û ú ü ü ÿ ú ú û ý ü ú ý ý ÿ
ý ÿ ú ü û ý ÿ ú ú û ý ý ÿ
5HDGHUIHHGEDFN
&ĞĞĚďĂĐŬĨƌŽŵŽƵƌƌĞĂĚĞƌƐŝƐĂůǁĂLJƐǁĞůĐŽŵĞ͘>ĞƚƵƐŬŶŽǁǁŚĂƚLJŽƵƚŚŝŶŬĂďŽƵƚƚŚŝƐ
ŬͶǁŚĂƚLJŽƵůŝŬĞĚŽƌŵĂLJŚĂǀĞĚŝƐůŝŬĞĚ͘ZĞĂĚĞƌĨĞĞĚďĂĐŬŝƐŝŵƉŽƌƚĂŶƚĨŽƌƵƐƚŽ
ĚĞǀĞůŽƉƟƚůĞƐƚŚĂƚLJŽƵƌĞĂůůLJŐĞƚƚŚĞŵŽƐƚŽƵƚŽĨ͘
feedback@packtpub.com
+ ? A @ C < ? 0 A @ A . 9 > E A A C = 9 : ; G ? / F , > - ? A @ C 9 @ A F 9 / > 2 + G
(
ĂŶĚŵĞŶƟŽŶƚŚĞŬƟƚůĞǀŝĂƚŚĞƐƵďũĞĐƚŽĨLJŽƵƌŵĞƐƐĂŐĞ͘
/ĨƚŚĞƌĞŝƐĂƚŽƉŝĐƚŚĂƚLJŽƵŚĂǀĞĞdžƉĞƌƟƐĞŝŶĂŶĚLJŽƵĂƌĞŝŶƚĞƌĞƐƚĞĚŝŶĞŝƚŚĞƌǁƌŝƟŶŐŽƌ
ĐŽŶƚƌŝďƵƟŶŐƚŽĂŬ͕ƐĞĞŽƵƌĂƵƚŚŽƌŐƵŝĚĞŽŶwww.packtpub.com/authors
D
Customer support
EŽǁƚŚĂƚLJŽƵĂƌĞƚŚĞƉƌŽƵĚŽǁŶĞƌŽĨĂWĂĐŬƚŬ͕ǁĞŚĂǀĞĂŶƵŵďĞƌŽĨƚŚŝŶŐƐƚŽŚĞůƉLJŽƵ
2 + 0 A 2 2 1 A F + ? 2 E . + F - + < . , < . : 1 9 ? A D
http://www.packtpub.com/supportĂŶĚƌĞŐŝƐƚĞƌƚŽŚĂǀĞƚŚĞĮůĞƐĞͲŵĂŝůĞĚĚŝƌĞĐƚůLJ
B / ? / 2
2 + - + < D
æ ø è
ã ä Á Ã ¾ å Á
Errata
ůƚŚŽƵŐŚǁĞŚĂǀĞƚĂŬĞŶĞǀĞƌLJĐĂƌĞƚŽĞŶƐƵƌĞƚŚĞĂĐĐƵƌĂĐLJŽĨŽƵƌĐŽŶƚĞŶƚ͕ŵŝƐƚĂŬĞƐĚŽ
ŚĂƉƉĞŶ͘/ĨLJŽƵĮŶĚĂŵŝƐƚĂŬĞŝŶŽŶĞŽĨŽƵƌŬƐͶŵĂLJďĞĂŵŝƐƚĂŬĞŝŶƚŚĞƚĞdžƚŽƌƚŚĞ
ĐŽĚĞͶǁĞǁŽƵůĚďĞŐƌĂƚĞĨƵůŝĨLJŽƵǁŽƵůĚƌĞƉŽƌƚƚŚŝƐƚŽƵƐ͘LJĚŽŝŶŐƐŽ͕LJŽƵĐĂŶƐĂǀĞŽƚŚĞƌ
ƌĞĂĚĞƌƐĨƌŽŵĨƌƵƐƚƌĂƟŽŶĂŶĚŚĞůƉƵƐŝŵƉƌŽǀĞƐƵďƐĞƋƵĞŶƚǀĞƌƐŝŽŶƐŽĨƚŚŝƐŬ͘/ĨLJŽƵĮŶĚ
ĂŶLJĞƌƌĂƚĂ͕ƉůĞĂƐĞƌĞƉŽƌƚƚŚĞŵďLJǀŝƐŝƟŶŐhttp://www.packtpub.com/submit-errata
G
LJŽƵƌĞƌƌĂƚĂ͘KŶĐĞLJŽƵƌĞƌƌĂƚĂĂƌĞǀĞƌŝĮĞĚ͕LJŽƵƌƐƵďŵŝƐƐŝŽŶǁŝůůďĞĂĐĐĞƉƚĞĚĂŶĚƚŚĞĞƌƌĂƚĂ
ǁŝůůďĞƵƉůŽĂĚĞĚŽŶŽƵƌǁĞďƐŝƚĞ͕ŽƌĂĚĚĞĚƚŽĂŶLJůŝƐƚŽĨĞdžŝƐƟŶŐĞƌƌĂƚĂ͕ƵŶĚĞƌƚŚĞƌƌĂƚĂ
ƐĞĐƟŽŶŽĨƚŚĂƚƟƚůĞ͘ŶLJĞdžŝƐƟŶŐĞƌƌĂƚĂĐĂŶďĞǀŝĞǁĞĚďLJƐĞůĞĐƟŶŐLJŽƵƌƟƚůĞĨƌŽŵ
http://www.packtpub.com/support
D
Piracy
8 / . 9 : - + E : + , - . / 0 1 2 F 9 2 A . / 9 > + @ 2 1 A @ 2 A . @ A 2 / ? 9 @ + @ 0 + / @ 0 , . + = > A F 9 : . + ? ? 9 > > F A C / 9 D 2 8 9 : ; 2 G
! '
ǁĞƚĂŬĞƚŚĞƉƌŽƚĞĐƟŽŶŽĨŽƵƌĐŽƉLJƌŝŐŚƚĂŶĚůŝĐĞŶƐĞƐǀĞƌLJƐĞƌŝŽƵƐůLJ͘/ĨLJŽƵĐŽŵĞĂĐƌŽƐƐĂŶLJ
ŝůůĞŐĂůĐŽƉŝĞƐŽĨŽƵƌǁŽƌŬƐ͕ŝŶĂŶLJĨŽƌŵ͕ŽŶƚŚĞ/ŶƚĞƌŶĞƚ͕ƉůĞĂƐĞƉƌŽǀŝĚĞƵƐǁŝƚŚƚŚĞůŽĐĂƟŽŶ
ĂĚĚƌĞƐƐŽƌǁĞďƐŝƚĞŶĂŵĞŝŵŵĞĚŝĂƚĞůLJƐŽƚŚĂƚǁĞĐĂŶƉƵƌƐƵĞĂƌĞŵĞĚLJ͘
copyright@packtpub.comǁŝƚŚĂůŝŶŬƚŽƚŚĞƐƵƐƉĞĐƚĞĚ
8 > A 9 ? A : + @ 2 9 : 2 < ? 9 2
, / . 9 2 A C F 9 2 A . / 9 > D
tĞĂƉƉƌĞĐŝĂƚĞLJŽƵƌŚĞůƉŝŶƉƌŽƚĞĐƟŶŐŽƵƌĂƵƚŚŽƌƐ͕ĂŶĚŽƵƌĂďŝůŝƚLJƚŽďƌŝŶŐLJŽƵ
B 9 > < 9 = > A : + @ 2 A @ 2 D
Questions
zŽƵĐĂŶĐŽŶƚĂĐƚƵƐĂƚquestions@packtpub.comŝĨLJŽƵĂƌĞŚĂǀŝŶŐĂƉƌŽďůĞŵǁŝƚŚĂŶLJ
ĂƐƉĞĐƚŽĨƚŚĞŬ͕ĂŶĚǁĞǁŝůůĚŽŽƵƌďĞƐƚƚŽĂĚĚƌĞƐƐŝƚ͘
æ è
Discovering Your Hidden
1
Scripting Skills
ŽŵƉƵƚĞƌƉƌŽŐƌĂŵŵŝŶŐŝƐǀŝĞǁĞĚďLJƚŚĞĂǀĞƌĂŐĞƉĞƌƐŽŶĂƐƌĞƋƵŝƌŝŶŐůŽŶŐ
ƉĞƌŝŽĚƐŽĨƚƌĂŝŶŝŶŐƚŽůĞĂƌŶƐŬŝůůƐƚŚĂƚĂƌĞƚŽƚĂůůLJĨŽƌĞŝŐŶ͕ĂŶĚĚĂƌŶŶĞĂƌ
ŝŵƉŽƐƐŝďůĞƚŽƵŶĚĞƌƐƚĂŶĚ͘dŚĞǁŽƌĚŐĞĞŬŝƐŽĨƚĞŶƵƐĞĚƚŽĚĞƐĐƌŝďĞĂƉĞƌƐŽŶ
ƚŚĂƚĐĂŶǁƌŝƚĞĐŽŵƉƵƚĞƌĐŽĚĞ͘dŚĞƉĞƌĐĞƉƚŝŽŶŝƐƚŚĂƚůĞĂƌŶŝŶŐƚŽǁƌŝƚĞĐŽĚĞ
ƚĂŬĞƐŐƌĞĂƚƚĞĐŚŶŝĐĂůƐŬŝůůƚŚĂƚŝƐũƵƐƚƐŽŚĂƌĚƚŽůĞĂƌŶ͘dŚŝƐƉĞƌĐĞƉƚŝŽŶŝƐƚŽƚĂůůLJ
ƵŶǁĂƌƌĂŶƚĞĚ͘zŽƵĂůƌĞĂĚLJŚĂǀĞƚŚĞƐŬŝůůƐŶĞĞĚĞĚďƵƚĚŽŶΖƚƌĞĂůŝnjĞŝƚ͘dŽŐĞƚŚĞƌ
ǁĞǁŝůůĐƌƵƐŚƚŚŝƐĨĂůƐĞƉĞƌĐĞƉƚŝŽŶLJŽƵŵĂLJŚĂǀĞŽĨLJŽƵƌƐĞůĨďLJƌĞĨŽĐƵƐŝŶŐ͕ŽŶĞ
ƐƚĞƉĂƚĂƚŝŵĞ͕ƚŚĞŬŶŽǁůĞĚŐĞLJŽƵĂůƌĞĂĚLJƉŽƐƐĞƐƐƚŽǁƌŝƚĞhŶŝƚLJƐĐƌŝƉƚƐ͘
/ŶƚŚŝƐĐŚĂƉƚĞƌǁĞƐŚĂůů͗
ĞĂůǁŝƚŚƉƌĞĐŽŶĐĞŝǀĞĚĨĞĂƌƐĂŶĚĐŽŶĐĞƉƚƐĂďŽƵƚƐĐƌŝƉƚƐ
^ĞĞǁŚLJǁĞƐŚŽƵůĚƵƐĞηŝŶƐƚĞĂĚŽĨhŶŝƚLJ^ĐƌŝƉƚ
/ŶƚƌŽĚƵĐĞhŶŝƚLJΖƐĚŽĐƵŵĞŶƚĂƟŽŶĨŽƌƐĐƌŝƉƟŶŐ
>ĞĂƌŶŚŽǁhŶŝƚLJĂŶĚƚŚĞDŽŶŽĞǀĞůŽƉĞĚŝƚŽƌǁŽƌŬƚŽŐĞƚŚĞƌ
>ĞƚΖƐďĞŐŝŶŽƵƌũŽƵƌŶĞLJďLJĞůŝŵŝŶĂƟŶŐĂŶLJĂŶdžŝĞƚLJĂďŽƵƚǁƌŝƟŶŐƐĐƌŝƉƚƐĨŽƌhŶŝƚLJ͕
ĂŶĚďĞĐŽŵĞĨĂŵŝůŝĂƌǁŝƚŚŽƵƌƐĐƌŝƉƟŶŐĞŶǀŝƌŽŶŵĞŶƚ͘
ŝƐĐŽǀĞƌŝŶŐzŽƵƌ,ŝĚĚĞŶ^ĐƌŝƉƟŶŐ^ŬŝůůƐ
3UHUHTXLVLWHNQRZOHGJHIRUXVLQJWKLVERRN
'ƌĞĂƚŶĞǁƐŝĨLJŽƵĂƌĞĂƐĐƌŝƉƟŶŐďĞŐŝŶŶĞƌ͊dŚŝƐŬŝƐĨŽƌƚŚŽƐĞǁŝƚŚĂďƐŽůƵƚĞůLJŶŽ
ŬŶŽǁůĞĚŐĞŽĨƉƌŽŐƌĂŵŵŝŶŐ͘/ƚŝƐĚĞǀŽƚĞĚƚŽƚĞĂĐŚŝŶŐƚŚĞďĂƐŝĐƐŽĨηǁŝƚŚhŶŝƚLJ͘
,ŽǁĞǀĞƌ͕ƐŽŵĞŬŶŽǁůĞĚŐĞŽĨhŶŝƚLJΖƐŽƉĞƌĂƟŽŶŝƐƌĞƋƵŝƌĞĚ͘/ǁŝůůŽŶůLJďĞĐŽǀĞƌŝŶŐƚŚĞƉĂƌƚƐ
ŽĨƚŚĞhŶŝƚLJŝŶƚĞƌĨĂĐĞƚŚĂƚĂƌĞƌĞůĂƚĞĚƚŽǁƌŝƟŶŐηĐŽĚĞ͘/ĂŵĂƐƐƵŵŝŶŐƚŚĂƚLJŽƵŬŶŽǁLJŽƵƌ
ǁĂLJĂƌŽƵŶĚhŶŝƚLJΖƐŝŶƚĞƌĨĂĐĞ͕ŚŽǁƚŽǁŽƌŬǁŝƚŚ'ĂŵĞKďũĞĐƚƐŝŶLJŽƵƌ^ĐĞŶĞ͕ĂŶĚŚŽǁƚŽ
ŽŵƉŽŶĞŶƚƐĂŶĚǀŝĞǁƚŚĞŝƌWƌŽƉĞƌƟĞƐ
> + : 9 2 A / @ 2 1 A D
ĂŶĚŶŽƚŚŝŶŐŚĂƉƉĞŶƐ͘tĞůůĚĂƌŶŝƚĂůůĂŶLJǁĂLJ͘
zŽƵũƵƐƚůĞĂƌŶĞĚĂďŝŐůĞƐƐŽŶ͕ĂůůƚŚŽƐĞĨĂŶƚĂƐƟĐ͕ŚŝŐŚůLJĚĞƚĂŝůĞĚ'ĂŵĞKďũĞĐƚƐĂƌĞĚƵŵďĞƌ
ƚŚĂŶĂŚĂŵŵĞƌ͘dŚĞLJĚŽŶΖƚŬŶŽǁĂŶLJƚŚŝŶŐ͕ĂŶĚƚŚĞLJƐƵƌĞĚŽŶΖƚŬŶŽǁŚŽǁƚŽĚŽĂŶLJƚŚŝŶŐ͘
^ŽLJŽƵƉƌŽĐĞĞĚƚŽƌĞĂĚƚŚĞhŶŝƚLJĨŽƌƵŵƐ͕ƐƚƵĚLJƐŽŵĞƐĐƌŝƉƟŶŐƚƵƚŽƌŝĂůƐ͕ŵĂLJďĞĞǀĞŶĐŽƉLJ
ĂŶĚƉĂƐƚĞƐŽŵĞƐĐƌŝƉƚƐƚŽŐĞƚƐŽŵĞĂĐƟŽŶŐŽŝŶŐǁŚĞŶLJŽƵƉƌĞƐƐWůĂLJ͘dŚĂƚΖƐŐƌĞĂƚ͕ďƵƚƚŚĞŶ
LJŽƵƌĞĂůŝnjĞLJŽƵĚŽŶΖƚƵŶĚĞƌƐƚĂŶĚĂŶLJƚŚŝŶŐŝŶƚŚĞƐĐƌŝƉƚƐLJŽƵΖǀĞĐŽƉŝĞĚ͘^ƵƌĞ͕LJŽƵƉƌŽďĂďůLJ
ƌĞĐŽŐŶŝnjĞƚŚĞǁŽƌĚƐ͕ďƵƚLJŽƵĨĂŝůƚŽƵŶĚĞƌƐƚĂŶĚǁŚĂƚƚŚŽƐĞǁŽƌĚƐĚŽŽƌŵĞĂŶŝŶĂƐĐƌŝƉƚ͘/ƚ
E A A > ? > / ; A 0 / = = A . / ? 1 D
zŽƵůŽŽŬĂƚƚŚĞĐŽĚĞ͕LJŽƵƌƉĂůŵƐŐĞƚƐǁĞĂƚLJ͕ĂŶĚLJŽƵƚŚŝŶŬƚŽLJŽƵƌƐĞůĨ͕Η'ĞĞnj͕/ΖůůŶĞǀĞƌďĞ
ĂďůĞƚŽǁƌŝƚĞƐĐƌŝƉƚƐ͊ΗWĞƌŚĂƉƐLJŽƵŚĂǀĞƐĐƌŝƉƚƉŚŽďŝĂ͗ƚŚĞĨĞĂƌŽĨŶŽƚďĞŝŶŐĂďůĞƚŽǁƌŝƚĞ
ŝŶƐƚƌƵĐƟŽŶƐ;/ŵĂĚĞƚŚĂƚƵƉͿ͘/ƐƚŚĂƚǁŚĂƚLJŽƵŚĂǀĞ͍
dŚĞĨĞĂƌƚŚĂƚLJŽƵĐĂŶŶŽƚǁƌŝƚĞĚŽǁŶŝŶƐƚƌƵĐƟŽŶƐŝŶĂĐŽŚĞƌĞŶƚŵĂŶŶĞƌ͍zŽƵŵĂLJďĞůŝĞǀĞ
LJŽƵŚĂǀĞƚŚŝƐĂŋŝĐƟŽŶ͕ďƵƚLJŽƵĚŽŶΖƚ͘zŽƵŽŶůLJƚŚŝŶŬLJŽƵĚŽ͘
dŚĞďĂƐŝĐƐŽĨǁƌŝƟŶŐĐŽĚĞĂƌĞƋƵŝƚĞƐŝŵƉůĞ͘/ŶĨĂĐƚ͕LJŽƵĚŽƚŚŝŶŐƐĞǀĞƌLJĚĂLJƚŚĂƚĂƌĞũƵƐƚůŝŬĞ
ƚŚĞƐƚĞƉƐĞdžĞĐƵƚĞĚŝŶĂƐĐƌŝƉƚ͘&ŽƌĞdžĂŵƉůĞ͕ĚŽLJŽƵŬŶŽǁŚŽǁƚŽŝŶƚĞƌĂĐƚǁŝƚŚŽƚŚĞƌƉĞŽƉůĞ͍
,ŽǁƚŽŽƉĞƌĂƚĞĂĐŽŵƉƵƚĞƌ͍ŽLJŽƵĨƌĞƚƐŽŵƵĐŚĂďŽƵƚŵĂŬŝŶŐĂďĂůŽŶĞLJƐĂŶĚǁŝĐŚƚŚĂƚ
LJŽƵŚĂǀĞƚŽŐŽƚŽĂŶŽŶůŝŶĞĨŽƌƵŵĂŶĚĂƐŬŚŽǁƚŽĚŽŝƚ͍
KĨĐŽƵƌƐĞLJŽƵĚŽŶΖƚ͘/ŶĨĂĐƚ͕LJŽƵŬŶŽǁƚŚĞƐĞƚŚŝŶŐƐĂƐΗĞǀĞƌLJĚĂLJƌŽƵƟŶĞƐΗ͕ŽƌŵĂLJďĞĂƐ
ŚĂďŝƚƐ͘dŚŝŶŬĨŽƌĂŵŽŵĞŶƚ͕ĚŽLJŽƵŚĂǀĞƚŽĐŽŶƐĐŝŽƵƐůLJƚŚŝŶŬĂďŽƵƚƚŚĞƐĞƌŽƵƟŶĞƐLJŽƵ
ĚŽĞǀĞƌLJĚĂLJ͍WƌŽďĂďůLJŶŽƚ͘ŌĞƌLJŽƵĚŽƚŚĞŵŽǀĞƌĂŶĚŽǀĞƌ͕ƚŚĞLJďĞĐŽŵĞĂƵƚŽŵĂƟĐ͘
[8]
Ä ¾ Æ Á ä
dŚĞƉŽŝŶƚŝƐ͕LJŽƵĚŽƚŚŝŶŐƐĞǀĞƌLJĚĂLJĨŽůůŽǁŝŶŐƐĞƋƵĞŶĐĞƐŽĨƐƚĞƉƐ͘tŚŽĐƌĞĂƚĞĚƚŚĞƐĞƐƚĞƉƐ
LJŽƵĨŽůůŽǁ͍DŽƌĞƚŚĂŶůŝŬĞůLJLJŽƵĚŝĚ͕ǁŚŝĐŚŵĞĂŶƐLJŽƵΖǀĞďĞĞŶƐĐƌŝƉƟŶŐLJŽƵƌǁŚŽůĞůŝĨĞ͘
zŽƵũƵƐƚŶĞǀĞƌŚĂĚƚŽǁƌŝƚĞĚŽǁŶƚŚĞƐƚĞƉƐ͕ĨŽƌLJŽƵƌĚĂŝůLJƌŽƵƟŶĞƐ͕ŽŶĂƉŝĞĐĞŽĨƉĂƉĞƌ
ďĞĨŽƌĞĚŽŝŶŐƚŚĞŵ͘zŽƵĐŽƵůĚǁƌŝƚĞƚŚĞƐƚĞƉƐĚŽǁŶŝĨLJŽƵƌĞĂůůLJǁĂŶƚĞĚƚŽ͕ďƵƚŝƚƚĂŬĞƐ
ƚŽŽŵƵĐŚƟŵĞĂŶĚƚŚĞƌĞΖƐŶŽŶĞĞĚ͘ƵƚLJŽƵĚŽ͕ŝŶĨĂĐƚ͕ŬŶŽǁŚŽǁƚŽ͘tĞůů͕ŐƵĞƐƐǁŚĂƚ͍
dŽǁƌŝƚĞƐĐƌŝƉƚƐ͕LJŽƵŽŶůLJŚĂǀĞƚŽŵĂŬĞŽŶĞƐŵĂůůĐŚĂŶŐĞ͕ƐƚĂƌƚǁƌŝƟŶŐĚŽǁŶƚŚĞƐƚĞƉƐ͘
EŽƚĨŽƌLJŽƵƌƐĞůĨďƵƚĨŽƌƚŚĞǁŽƌůĚLJŽƵΖƌĞĐƌĞĂƟŶŐŝŶhŶŝƚLJ͘
^ŽLJŽƵƐĞĞ͕LJŽƵĂƌĞĂůƌĞĂĚLJĨĂŵŝůŝĂƌǁŝƚŚƚŚĞĐŽŶĐĞƉƚŽĨĚĞĂůŝŶŐǁŝƚŚƐĐƌŝƉƚƐ͘DŽƐƚďĞŐŝŶŶĞƌƐ
ƚŽhŶŝƚLJĞĂƐŝůLJůĞĂƌŶƚŚĞŝƌǁĂLJĂƌŽƵŶĚƚŚĞhŶŝƚLJŝŶƚĞƌĨĂĐĞ͕ŚŽǁƚŽĂĚĚĂƐƐĞƚƐ͕ĂŶĚǁŽƌŬŝŶ
ƚŚĞ^ĐĞŶĞĂŶĚ,ŝĞƌĂƌĐŚLJǁŝŶĚŽǁƐ͘dŚĞŝƌƉƌŝŵĂƌLJĨĞĂƌ͕ĂŶĚƌŽĂĚďůŽĐŬ͕ŝƐƚŚĞŝƌĨĂůƐĞďĞůŝĞĨ
ƚŚĂƚƐĐƌŝƉƟŶŐŝƐƚŽŽŚĂƌĚƚŽůĞĂƌŶ͘
ZĞůĂdž͊zŽƵŶŽǁŚĂǀĞƚŚŝƐŬ͘/ĂŵŐŽŝŶŐƚŽŐĞƚƌĞĂůůLJďĂƐŝĐŝŶƚŚĞďĞŐŝŶŶŝŶŐĐŚĂƉƚĞƌƐ͘
ĂůůƚŚĞŵďĂďLJͲƐƚĞƉƐŝĨLJŽƵǁĂŶƚ͕ďƵƚLJŽƵǁŝůůƐĞĞƚŚĂƚƐĐƌŝƉƟŶŐĨŽƌhŶŝƚLJŝƐƐŝŵŝůĂƌƚŽĚŽŝŶŐ
ĂůƌĞĂĚLJĚŽĞǀĞƌLJĚĂLJ͘/ΖŵƐƵƌĞLJŽƵǁŝůůŚĂǀĞŵĂŶLJΗŚͲ,ĂΗŵŽŵĞŶƚƐĂƐLJŽƵůĞĂƌŶ
2 1 / @ 0 ? - + <
ĂŶĚŽǀĞƌĐŽŵĞLJŽƵƌƵŶũƵƐƟĮĞĚĨĞĂƌƐĂŶĚďĞůŝĞĨƐ͘
,ĞƌĞΖƐĂƋƵŽƚĞĨƌŽŵƚŚĞhŶŝƚLJDĂŶƵĂů͗
dŚĞďĞŚĂǀŝŽƌŽĨ'ĂŵĞKďũĞĐƚƐŝƐĐŽŶƚƌŽůůĞĚďLJƚŚĞŽŵƉŽŶĞŶƚƐƚŚĂƚĂƌĞĂƩĂĐŚĞĚ
ƚŽƚŚĞŵ͘͘͘hŶŝƚLJĂůůŽǁƐLJŽƵƚŽĐƌĞĂƚĞLJŽƵƌŽǁŶŽŵƉŽŶĞŶƚƐƵƐŝŶŐƐĐƌŝƉƚƐ͘
EŽƟĐĞƚŚĂƚǁŽƌĚ͕ďĞŚĂǀŝŽƌ͘/ƚƌĞŵŝŶĚƐŵĞŽĨĂƉĂƌĞŶƚƚĞĂĐŚŝŶŐĂĐŚŝůĚƉƌŽƉĞƌďĞŚĂǀŝŽƌ͘
dŚŝƐŝƐĞdžĂĐƚůLJǁŚĂƚǁĞĂƌĞŐŽŝŶŐƚŽĚŽǁŚĞŶǁĞǁƌŝƚĞƐĐƌŝƉƚƐĨŽƌŽƵƌ'ĂŵĞKďũĞĐƚƐ͕ǁĞΖƌĞ
ƚĞĂĐŚŝŶŐƚŚĞŵƚŚĞďĞŚĂǀŝŽƌƐǁĞǁĂŶƚƚŚĞŵƚŽŚĂǀĞ͘dŚĞďĞƐƚƉĂƌƚŝƐ͕hŶŝƚLJŚĂƐƉƌŽǀŝĚĞĚ
ĂďŝŐůŝƐƚŽĨĂůůƚŚĞďĞŚĂǀŝŽƌƐǁĞĐĂŶŐŝǀĞƚŽŽƵƌ'ĂŵĞKďũĞĐƚƐ͘dŚŝƐůŝƐƚŽĨďĞŚĂǀŝŽƌƐŝƐ
ĚŽĐƵŵĞŶƚĞĚŝŶƚŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ͘
dŚŝƐŵĞĂŶƐǁĞĐĂŶƉŝĐŬĂŶĚĐŚŽƐĞ͕ĨƌŽŵƚŚŝƐůŝƐƚŽĨďĞŚĂǀŝŽƌƐĂŶLJƚŚŝŶŐǁĞǁĂŶƚĂ
'ĂŵĞKďũĞĐƚƚŽĚŽ͘hŶŝƚLJŚĂƐĚŽŶĞĂůůƚŚĞŚĂƌĚǁŽƌŬŽĨƉƌŽŐƌĂŵŵŝŶŐĂůůƚŚĞƐĞďĞŚĂǀŝŽƌƐ
ĨŽƌLJŽƵ͘ůůǁĞŶĞĞĚƚŽĚŽŝƐƵƐĞĂůŝƩůĞĐŽĚĞƚŽƟĞŝŶƚŽƚŚĞƐĞďĞŚĂǀŝŽƌƐ͘ŝĚLJŽƵĐĂƚĐŚƚŚĂƚ͍
hŶŝƚLJŚĂƐĂůƌĞĂĚLJĐƌĞĂƚĞĚƚŚĞďĞŚĂǀŝŽƌƐ͕ĂůůǁĞŚĂǀĞƚŽĚŽŝƐƐƵƉƉůLJĂůŝƩůĞďŝƚŽĨηĐŽĚĞƚŽ
ĂƉƉůLJƚŚĞƐĞďĞŚĂǀŝŽƌƐƚŽŽƵƌ'ĂŵĞKďũĞĐƚƐ͘EŽǁƌĞĂůůLJ͕ŚŽǁĚŝĸĐƵůƚĐĂŶŝƚďĞƐŝŶĐĞhŶŝƚLJŚĂƐ
ĂůƌĞĂĚLJĚŽŶĞŵŽƐƚŽĨƚŚĞƉƌŽŐƌĂŵŵŝŶŐ͍
[9]
ŝƐĐŽǀĞƌŝŶŐzŽƵƌ,ŝĚĚĞŶ^ĐƌŝƉƟŶŐ^ŬŝůůƐ
&KRRVLQJWRXVH&LQVWHDGRI8QLW\6FULSW
^ŽǁŚLJĐŚŽŽƐĞηƚŽĐƌĞĂƚĞƚŚŝƐĐŽĚĞ͍dŚŝƐŵĂLJďĞĂŌĞƌͲƚŚĞͲĨĂĐƚŝŶĨŽƌŵĂƟŽŶĨŽƌLJŽƵŝĨ
LJŽƵΖǀĞĂůƌĞĂĚLJĂĐƋƵŝƌĞĚƚŚŝƐŬĂŶĚĐŚŽƐĞŶƚŽƵƐĞη͕ďƵƚƚŚĞƐĞĂƌĞǀĂůƵĂďůĞƉŽŝŶƚƐ
ƚŽŬŶŽǁĂŶLJǁĂLJ͗
5HDVRQIRUFKRRVLQJ&²YDVWDPRXQWRIGRFXPHQWDWLRQ
on the Internet
ƚŚĞĨŽůůŽǁŝŶŐďƵůůĞƚůŝƐƚ͕ŝƚǁŝůůŚĞůƉLJŽƵƵŶĚĞƌƐƚĂŶĚƚŚĞƌĞĂƐŽŶ
9 B A 9 > + + ; 9 2
&
E + . : 1 + + ? / @ 0 * I
ηŝƐĂǁĞůůŬŶŽǁŶĂŶĚĂŚĞĂǀŝůLJƵƐĞĚƉƌŽŐƌĂŵŵŝŶŐůĂŶŐƵĂŐĞĚĞǀĞůŽƉĞĚďLJ
DŝĐƌŽƐŽŌĨŽƌĐƌĞĂƟŶŐtŝŶĚŽǁƐĂƉƉůŝĐĂƟŽŶĂŶĚǁĞďͲďĂƐĞĚĂƉƉůŝĐĂƟŽŶƐ͘/ĨLJŽƵ
ĞǀĞƌŶĞĞĚƚŽŬŶŽǁĂŶLJƚŚŝŶŐĂďŽƵƚη͕ƐŝŵƉůLJĚŽĂƐĞĂƌĐŚŽŶƚŚĞ/ŶƚĞƌŶĞƚ͘
hŶŝƚLJ^ĐƌŝƉƚŝƐũƵƐƚĂƐĐƌŝƉƟŶŐůĂŶŐƵĂŐĞĚĞƐŝŐŶĞĚƐƉĞĐŝĮĐĂůůLJĨŽƌhŶŝƚLJ͘/ƚΖƐƐŝŵŝůĂƌ
ƚŽ:ĂǀĂ^ĐƌŝƉƚ͕LJĞƚŝƚŝƐŶΖƚ͘zŽƵŵĂLJďĞĂďůĞƚŽƐĞĂƌĐŚĨŽƌ:ĂǀĂ^ĐƌŝƉƚƐŽůƵƟŽŶƐŽŶ
ƚŚĞǁĞď͕ďƵƚƚŚĞĐŽĚĞŵĂLJŽƌŵĂLJŶŽƚǁŽƌŬǁŝƚŚŝŶƚŚĞĐŽŶĮŶĞƐŽĨhŶŝƚLJǁŝƚŚŽƵƚ
ŵŽĚŝĮĐĂƟŽŶ͕ŝĨĂƚĂůů͘
tŚLJƐƚĂƌƚŽīůĞĂƌŶŝŶŐĂůŝŵŝƚĞĚƐĐƌŝƉƟŶŐůĂŶŐƵĂŐĞ͕ƐƉĞĐŝĮĐŽŶůLJƚŽhŶŝƚLJ͕ǁŚĞŶ
LJŽƵĐĂŶƵƐĞη͕ĂƚƌƵĞƉƌŽŐƌĂŵŵŝŶŐůĂŶŐƵĂŐĞ͕ĂŶĚĮŶĚŝŶĨŽƌŵĂƟŽŶĞǀĞƌLJǁŚĞƌĞ͍
tŚŽŬŶŽǁƐ͕ŽŶĐĞLJŽƵƐĞĞŚŽǁĞĂƐLJηŝƐ͕ŵĂLJďĞLJŽƵŵŝŐŚƚĚĞĐŝĚĞƚŽĚĞǀĞůŽƉ
ĨŽƌtŝŶĚŽǁƐŽƌƚŚĞtĞďƐŽŵĞĚĂLJ͘zŽƵΖůůĂůƌĞĂĚLJŚĂǀĞƚŚĞďĂƐŝĐƐŽĨη͘
KŶĐĞLJŽƵůĞĂƌŶη͕LJŽƵΖůůƉƌĞƩLJŵƵĐŚŬŶŽǁhŶŝƚLJ^ĐƌŝƉƚ͕ƚŽŽ͘
5HDVRQIRUFKRRVLQJ&²ÁH[LELOLW\WRXVH8QLW\VFULSWVDQG
UHJXODU&FRGHÀOHV
ŶLJηĮůĞƐ
- + < 1 9 B A / @ - + < . @ / 2 - 8 . + A : 2 E + > C A . G 2 1 9 2 9 . A @ + 2 @ / 2 - ? : . / , 2 ? G
) )
ĂƌĞĂĐĐĞƐƐŝďůĞǁŝƚŚŽƵƚƚŚĞŶĞĞĚŽĨĂƩĂĐŚƚŚĞŵƚŽ'ĂŵĞKďũĞĐƚƐ͘
dŚĞ^ƚĂƚĞDĂĐŚŝŶĞƉƌŽũĞĐƚǁĞǁŝůůĐƌĞĂƚĞĨŽƌƚŚŝƐŬŵĂŬĞƐƵƐĞŽĨηĐŽĚĞ
ĮůĞƐƚŚĂƚĂƌĞŶŽƚĂƩĂĐŚĞĚƚŽĂŶLJ'ĂŵĞKďũĞĐƚ͘
/ΖŵŶŽƚƐĂLJŝŶŐLJŽƵĐĂŶΖƚĐƌĞĂƚĞĂ^ƚĂƚĞDĂĐŚŝŶĞďLJƵƐŝŶŐhŶŝƚLJ^ĐƌŝƉƚ͘/ƚΖƐũƵƐƚƐŽ
ŵƵĐŚĞĂƐŝĞƌǁŝƚŚη͘ǀĞƌLJhŶŝƚLJ^ĐƌŝƉƚĮůĞŚĂƐƚŽďĞĂƩĂĐŚĞĚƚŽĂ'ĂŵĞKďũĞĐƚ
ƚŽǁŽƌŬĂŶĚďĞĂĐĐĞƐƐŝďůĞƚŽŽƚŚĞƌƐĐƌŝƉƚƐ͘ηŽǀĞƌĐŽŵĞƐƚŚŝƐŶĞĐĞƐƐŝƚLJ͘
[ 10 ]
Ä ¾ Æ Á ä
5HDVRQIRUFKRRVLQJ&²FRGLQJUXOHVDUHVSHFLÀF
ηŝƐŬŶŽǁŶĂƐĂƐƚƌŝĐƚůLJͲƚLJƉĞĚůĂŶŐƵĂŐĞ͘tŚĂƚĚŽĞƐƚŚŝƐŵĞĂŶƐƚŽLJŽƵ͍
ƐLJŽƵǁƌŝƚĞĐŽĚĞ͕hŶŝƚLJǁŝůůĐĂƚĐŚĐŽĚŝŶŐĞƌƌŽƌƐŝŵŵĞĚŝĂƚĞůLJ͘>ĞĂƌŶŝŶŐĂƐƵďũĞĐƚ
ŝƐĂůǁĂLJƐĞĂƐŝĞƌǁŚĞŶƚŚĞƌƵůĞƐĂƌĞƐƉĞĐŝĮĐ͕ĂŶĚŶŽƚƐŽŵĞĨƵnjnjLJΗLJŽƵĐĂŶŝĨLJŽƵ
ǁĂŶƚƚŽΗŬŝŶĚŽĨůŽŐŝĐ͘
hŶŝƚLJ^ĐƌŝƉƚŝƐŶŽƚĂƐƚƌŝĐƚůLJͲƚLJƉĞĚůĂŶŐƵĂŐĞ͘zŽƵŚĂǀĞƚŚĞƉŽƚĞŶƟĂůƚŽǁƌŝƚĞĐŽĚĞ
ƚŚĂƚŝƐŶŽƚǀĂůŝĚ͕ďƵƚhŶŝƚLJǁŽŶΖƚĐĂƚĐŚƚŚĞĞƌƌŽƌƐƵŶƟůLJŽƵƉƌĞƐƐWůĂLJ͘
&ŝŶĚŝŶŐŵŝƐƚĂŬĞƐĂƐLJŽƵǁƌŝƚĞƚŚĞĐŽĚĞŝƐƐŽŵƵĐŚĞĂƐŝĞƌƚŚĂŶŚĂǀŝŶŐƚŽĚĞĂů
ǁŝƚŚƚŚĞŵǁŚĞŶĂƵƐĞƌŚĂƐĨŽƵŶĚƚŚĞŵǁŚĞŶƚŚĞLJΖƌĞƉůĂLJŝŶŐƚŚĞŐĂŵĞ͘
WůĞĂƐĞďĞĂǁĂƌĞ͕ŝƚŝƐĞĂƐLJƚŽĨŽƌĐĞhŶŝƚLJ^ĐƌŝƉƚƚŽďĞƐƚƌŝĐƚůLJͲƚLJƉĞĚ͕ďƵƚŝĨLJŽƵΖƌĞ
ĚŽƚŚĂƚ͕ƚŚĞŶLJŽƵŵĂLJĂƐǁĞůůďĞƵƐŝŶŐηĂŶLJǁĂLJ͕ǁŚŝĐŚďƌŝŶŐƐƵƐďĂĐŬ
0 + / @ 0 2 +
2 + A 9 ? + @ 6 D
"
^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ
ù ü ú
ú ÿ ý ü û ú
ǁŽŶΖƚŵĂŬĞƐĞŶƐĞƚŽLJŽƵ͕ǁŚŝĐŚŝƐĞdžƉĞĐƚĞĚĂƚƚŚŝƐƉŽŝŶƚ͘/ŶƚŚĞďĞŐŝŶŶŝŶŐ
ĐŚĂƉƚĞƌƐ͕ĂƐ/ƚĞĂĐŚLJŽƵƚŚĞďĂƐŝĐƐŽĨƉƌŽŐƌĂŵŵŝŶŐ͕ŝƚǁŝůůďĞŶĞĐĞƐƐĂƌLJĨŽƌŵĞ
ƚŽƵƐĞĂĨĞǁƚŚŝŶŐƐŝŶƚŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ
ÿ
ú ÿ ý ÿ ú ý ü þ ÿ
ƚŽhŶŝƚLJΖƐŽŶƐŽůĞ͘&ŽƌŶŽǁ͕ũƵƐƚĐŽƉLJƚŚĞĐŽĚĞ/ƵƐĞďĞĐĂƵƐĞLJŽƵǁŝůůďĞ
ú û ü ý ü þ ú ý ý ú û
7LPHIRUDFWLRQ²RSHQLQJWKH5HIHUHQFH0DQXDOGRFXPHQWDWLRQ
IRUWKHWUDQVIRUP&RPSRQHQW
ĂĐĐĞƐƐŝŶŐhŶŝƚLJΖƐĚŽĐƵŵĞŶƚĂƟŽŶĨƌŽŵǁŝƚŚŝŶhŶŝƚLJ͕ǁĞΖůůƵƐĞƚŚĞ
+ 0 A 2 9 E A A > E + .
! "
ĂŵĞƌĂ dƌĂŶƐĨŽƌŵ
2 + C A F + @ ? 2 . 9 2 A D B A . - 9 F A # = A : 2 / @ 9 J : A @ A 1 9 ? 9 * + F , + @ A @ 2 G ? +
%
͘'ĞƫŶŐƚŽƚŚĞŝŶĨŽƌŵĂƟŽŶŝƐƉƌĞƩLJĞĂƐLJ͘ůŝĐŬŽŶƚŚĞƟŶLJŬŝĐŽŶǁŝƚŚƚŚĞ
$
%
ƋƵĞƐƟŽŶŵĂƌŬ͘
,ŝĞƌĂƌĐŚLJ DĂŝŶĂŵĞƌĂ
& '
@ 2 1 A 2 9 = G ? A > A : 2 2 1 A D
!
[ 11 ]
ŝƐĐŽǀĞƌŝŶŐzŽƵƌ,ŝĚĚĞŶ^ĐƌŝƉƟŶŐ^ŬŝůůƐ
dƌĂŶƐĨŽƌŵ
( '
* > / : ; + @ 2 1 A = + + ; / : + @ E + . 2 1 A D
7LPHIRUDFWLRQ²RSHQLQJWKHVFULSWLQJUHIHUHQFH
GRFXPHQWDWLRQIRUWKHWUDQVIRUPFRPSRQHQW
ZĞĨĞƌĞŶĐĞDĂŶƵĂů͕ǁĞΖůůŶŽǁŽƉĞŶƚŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞĚŽĐƵŵĞŶƚĂƟŽŶĨŽƌƚŚĞ
. + F 2 1 A
H
dƌĂŶƐĨŽƌŵŽŵƉŽŶĞŶƚ
D
^ǁŝƚĐŚƚŽ^ĐƌŝƉƟŶŐŝŶƚŚĞƵƉƉĞƌƌŝŐŚƚͲŚĂŶĚƐŝĚĞŽĨƚŚĞďƌŽǁƐĞƌǁŝŶĚŽǁ
ó ô
* > / : ; 2 1 A > / @ ;
ĂƐƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͗
[ 12 ]
Ä ¾ Æ Á ä
ĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͗
$UHZHUHDOO\VXSSRVHGWRNQRZDOOWKDWVWXII"
ĐƚƵĂůůLJ͕ŶŽ͘dŚĞǁŚŽůĞƌĞĂƐŽŶĨŽƌǁŚLJƚŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞĞdžŝƐƚŝƐƐŽǁĞĐĂŶůŽŽŬĨŽƌ
ŝŶĨŽƌŵĂƟŽŶĂƐǁĞŶĞĞĚŝƚ͘tŚŝĐŚǁŝůůĂĐƚƵĂůůLJŚĂƉƉĞŶƵƐƚŽƌĞŵĞŵďĞƌƚŚĞĐŽĚĞǁĞĚŽ
ŽǀĞƌĂŶĚŽǀĞƌ͕ũƵƐƚůŝŬĞŽƵƌŽƚŚĞƌĚĂŝůLJƌŽƵƟŶĞƐĂŶĚŚĂďŝƚƐ͘
:KDWLVDOOWKDWLQIRUPDWLRQ"
dŚĞƉƌĞǀŝŽƵƐƐĐƌĞĞŶƐŚŽƚƐŚŽǁƐĂĚĞƐĐƌŝƉƟŽŶĂŶĚƐŽŵĞƐĂŵƉůĞĐŽĚĞǁŚŝĐŚƉƌŽďĂďůLJĚŽĞƐŶΖƚ
ŵĞĂŶŵƵĐŚƌŝŐŚƚŶŽǁ͘&ĞĂƌŶŽƚ͊zŽƵΖůůĞǀĞŶƚƵĂůůLJďĞĂďůĞƚŽůŽŽŬĂƚƚŚĂƚĂŶĚƐĂLJ͕Η,ĞLJ͕/ŬŶŽǁ
ǁŚĂƚƚŚĂƚŵĞĂŶƐ͊Η
[ 13 ]
ŝƐĐŽǀĞƌŝŶŐzŽƵƌ,ŝĚĚĞŶ^ĐƌŝƉƟŶŐ^ŬŝůůƐ
:RUNLQJZLWK&VFULSWÀOHV
hŶƟůLJŽƵůĞĂƌŶƐŽŵĞďĂƐŝĐƉƌŽŐƌĂŵŵŝŶŐĐŽŶĐĞƉƚƐ͕ŝƚΖƐƚŽŽĞĂƌůLJƚŽƐƚƵĚLJŚŽǁƐĐƌŝƉƚƐǁŽƌŬ͕
ďƵƚǁĞƐƟůůŶĞĞĚƚŽŬŶŽǁŚŽǁƚŽĐƌĞĂƚĞŽŶĞ͘
dŚĞƌĞĂƌĞƐĞǀĞƌĂůǁĂLJƐƚŽĐƌĞĂƚĞĂƐĐƌŝƉƚĮůĞƵƐŝŶŐhŶŝƚLJ͗
η^ĐƌŝƉƚ
@ 2 1 A F A @ < @ 9 B / 0 9 2 A 2 + ) * + *
!
# .
η^ĐƌŝƉƚ
@ 2 1 A , 2 9 = @ 9 B / 0 9 2 A 2 + + *
!
-
# .
η^ĐƌŝƉƚ
@ 2 1 A , 2 9 = . / 0 1 2 : > / : ; G E . + F 2 1 A , + , < , F A @ < @ 9 B / 0 9 2 A 2 + + *
! ( (
-
&ƌŽŵŶŽǁŽŶ͕ǁŚĞŶ/ƚĞůůLJŽƵƚŽĐƌĞĂƚĞĂηƐĐƌŝƉƚ͕ƉůĞĂƐĞ
ƵƐĞǁŚŝĐŚĞǀĞƌŵĞƚŚŽĚLJŽƵƉƌĞĨĞƌ͘
7LPHIRUDFWLRQ²FUHDWHD&VFULSWÀOH
ƉƌŽũĞĐƚƉƌŽŐƌĞƐƐĞƐ͕ǁĞǁŝůůŚĂǀĞƐĞǀĞƌĂůĨŽůĚĞƌƐƚŽŽƌŐĂŶŝnjĞĂŶĚƐƚŽƌĞĂůůŽĨ
? + < . @ / 2 -
' )
ŽƵƌηĮůĞƐ͘
ƌĞĂƚĞĂŶĞǁhŶŝƚLJƉƌŽũĞĐƚĂŶĚŶĂŵĞŝƚĂƐState Machine
ó ô
õ ô
Code
/ 0 1 2 : > / : ; + @ / @ 2 1 A , 2 9 = 9 @ C : . A 9 2 A 9 E + > C A . @ 9 F A C D
" (
-
ö ô
Code Scripts
/ 0 1 2 : > / : ; + @ 2 1 A E + > C A . 9 @ C 9 : . A 9 2 A 9 E + > C A . @ 9 F A C D
" (
ô
.
Scripts C# Script
@ 2 1 A E + > C A . G : . A 9 2 A 9 D
!
ô
/
NewBehaviourScript LearningScript
F F A C / 9 2 A > - . A @ 9 F A 2 + D
!
ŽƵƌηĮůĞƐ͘dŚŝƐĨŽůĚĞƌǁŝůůĐŽŶƚĂŝŶĂůůŽĨŽƵƌhŶŝƚLJƐĐƌŝƉƚĮůĞƐ͘>ĂƚĞƌǁĞǁŝůůĐƌĞĂƚĞŽƚŚĞƌη
ĮůĞĨŽůĚĞƌƐ͘
tĞĂůƐŽƵƐĞĚhŶŝƚLJƚŽĐƌĞĂƚĞĂηƐĐƌŝƉƚĮůĞŶĂŵĞĚLearningScript.cs
D
[ 14 ]
Ä ¾ Æ Á ä
ƐƚĂƌƚĞƌηƐĐƌŝƉƚĨŽƌƵƐ͕ǁĞƐƟůůŚĂǀĞƚŽĞĚŝƚƚŚĞƐĐƌŝƉƚ DŽŶŽĞǀĞůŽƉ
< ? / @ 0 2 1 A : + C A A C / 2 + .
ƚŚĂƚΖƐŝŶĐůƵĚĞĚǁŝƚŚhŶŝƚLJ͘
6\QFLQJ&ÀOHVEHWZHHQ0RQR'HYHORSDQG8QLW\
DŽŶŽĞǀĞůŽƉĂƌĞƐĞƉĂƌĂƚĞĂƉƉůŝĐĂƟŽŶƐ͕hŶŝƚLJǁŝůůŬĞĞƉDŽŶŽĞǀĞůŽƉĂŶĚ
J / @ : A @ / 2 - 9 @ C
)
hŶŝƚLJƐLJŶĐŚƌŽŶŝnjĞĚǁŝƚŚĞĂĐŚŽƚŚĞƌ͘dŚŝƐŵĞĂŶƐƚŚĂƚŝĨLJŽƵĂĚĚ͕ĚĞůĞƚĞ͕ŽƌĐŚĂŶŐĞĂƐĐƌŝƉƚ
ĮůĞŝŶŽŶĞĂƉƉůŝĐĂƟŽŶ͕ƚŚĞŽƚŚĞƌĂƉƉůŝĐĂƟŽŶǁŝůůƐĞĞƚŚĞĐŚĂŶŐĞƐĂƵƚŽŵĂƟĐĂůůLJ͘
7LPHIRUDFWLRQ²RSHQLQJ/HDUQLQJ6FULSWLQ0RQR'HYHORS
hŶŝƚLJǁŝůůƐLJŶĐŚƌŽŶŝnjĞǁŝƚŚDŽŶŽĞǀĞůŽƉƚŚĞĮƌƐƚƟŵĞLJŽƵƚĞůůhŶŝƚLJƚŽŽƉĞŶĂĮůĞĨŽƌĞĚŝƟŶŐ͘
dŚĞƐŝŵƉůĞƐƚǁĂLJƚŽĚŽƚŚŝƐŝƐũƵƐƚĚŽƵďůĞͲĐůŝĐŬŽŶLearningScript Scripts
/ @ 2 1 A E + > C A . D
/ŶhŶŝƚLJΖƐWƌŽũĞĐƚƚĂď͕ĚŽƵďůĞͲĐůŝĐŬŽŶLearningScript
ó ô
[ 15 ]
ŝƐĐŽǀĞƌŝŶŐzŽƵƌ,ŝĚĚĞŶ^ĐƌŝƉƟŶŐ^ŬŝůůƐ
:DWFKLQJIRUDSRVVLEOHJRWFKDZKHQFUHDWLQJVFULSWÀOHV
in Unity
EŽƟĐĞůŝŶĞϰŝŶƚŚĞƉƌĞǀŝŽƵƐƐĐƌĞĞŶƐŚŽƚ͗
public class LearningScript : MonoBehaviour
LearningScriptŝƐƚŚĞƐĂŵĞĂƐƚŚĞĮůĞŶĂŵĞLearningScript.cs
1 A : > 9 ? ? @ 9 F A D 1 / ?
ŝƐĂƌĞƋƵŝƌĞŵĞŶƚ͘zŽƵƉƌŽďĂďůLJĚŽŶΖƚŬŶŽǁǁŚĂƚĂĐůĂƐƐŝƐLJĞƚ͕ƚŚĂƚΖƐŽŬ͘:ƵƐƚƌĞŵĞŵďĞƌƚŚĂƚ
ƚŚĞĮůĞŶĂŵĞĂŶĚƚŚĞĐůĂƐƐŶĂŵĞŵƵƐƚďĞƚŚĞƐĂŵĞ͘
tŚĞŶLJŽƵĐƌĞĂƚĞĂηƐĐƌŝƉƚĮůĞŝŶhŶŝƚLJ͕ƚŚĞĮůĞŶĂŵĞ͕ŝŶƚŚĞ
, 2 9 = G / ? / @ C / 2 F + C A G
-
ƚŚĞĮůĞŶĂŵĞĂŶĚƚŚĞĐůĂƐƐŶĂŵĞǁŽŶΖƚŵĂƚĐŚ͘dŚĞĮůĞŶĂŵĞǁŽƵůĚĐŚĂŶŐĞ͕ďƵƚůŝŶĞϰǁŽƵůĚ
= A 2 1 / ? I
dŚŝƐĐĂŶĞĂƐŝůLJďĞĮdžĞĚŝŶDŽŶŽĞǀĞůŽƉďLJĐŚĂŶŐŝŶŐNewBehaviourScriptŽŶůŝŶĞϰƚŽƚŚĞ
ƐĂŵĞŶĂŵĞĂƐƚŚĞĮůĞŶĂŵĞ͕ďƵƚŝƚΖƐŵƵĐŚƐŝŵƉůĞƌƚŽĚŽƚŚĞƌĞŶĂŵŝŶŐŝŶhŶŝƚLJŝŵŵĞĚŝĂƚĞůLJ͘
)L[LQJV\QFLILWLVQ
WZRUNLQJSURSHUO\
^ŽǁŚĂƚŚĂƉƉĞŶƐǁŚĞŶDƵƌƉŚLJΖƐ>ĂǁƐƚƌŝŬĞƐĂŶĚƐLJŶĐŝŶŐũƵƐƚĚŽĞƐŶΖƚƐĞĞŵƚŽďĞǁŽƌŬŝŶŐ
ĐŽƌƌĞĐƚůLJ͍^ŚŽƵůĚƚŚĞƚǁŽĂƉƉƐƐŽŵĞŚŽǁŐĞƚŽƵƚͲŽĨͲƐLJŶĐĂƐLJŽƵƐǁŝƚĐŚďĂĐŬͲĂŶĚͲĨŽƌƚŚ
ďĞƚǁĞĞŶƚŚĞƚŚĞŵ͕ĨŽƌǁŚĂƚĞǀĞƌƌĞĂƐŽŶ͕ĚŽƚŚŝƐ͗
ZŝŐŚƚͲĐůŝĐŬŽŶhŶŝƚLJΖƐ ǁŝŶĚŽǁĂŶĚƐĞůĞĐƚ^LJŶĐDŽŶŽĞǀĞůŽƉWƌŽũĞĐƚ
, D
-
DŽŶŽĞǀĞůŽƉǁŝůůƌĞͲƐLJŶĐǁŝƚŚhŶŝƚLJ͘
3RSTXL]²GHDOLQJZLWKVFULSWV
Yϭ͘ƐĂďĞŐŝŶŶĞƌ͕ǁŚĂƚΖƐƚŚĞďŝŐŐĞƐƚŽďƐƚĂĐůĞƚŽďĞŽǀĞƌĐŽŵĞƚŽďĞĂďůĞƚŽǁƌŝƚĞηĐŽĚĞ͍
YϮ͘dŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞƐƵƉƉůŝĞƐĞdžĂŵƉůĞĐŽĚĞĂŶĚĂƐŚŽƌƚĚĞƐĐƌŝƉƟŽŶŽĨǁŚĂƚƚŚĞĐŽĚĞ
ĚŽĞƐ͘tŚĂƚĚŽLJŽƵƵƐĞƚŽŐĞƚĨƵůůĚĞƚĂŝůĞĚĚĞƐĐƌŝƉƟŽŶƐŽĨhŶŝƚLJΖƐŽŵƉŽŶĞŶƚƐĂŶĚĨĞĂƚƵƌĞƐ͍
Yϯ͘dŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞŝƐĂůĂƌŐĞĚŽĐƵŵĞŶƚ͘,ŽǁŵƵĐŚŝƚƐŚŽƵůĚLJŽƵŬŶŽǁďĞĨŽƌĞ
ĂƩĞŵƉƟŶŐƚŽǁƌŝƚĞĂŶLJƐĐƌŝƉƚƐ͍
Yϰ͘tŚĞŶĐƌĞĂƟŶŐĂƐĐƌŝƉƚĮůĞŝŶhŶŝƚLJ͕ǁŚĞŶŝƐƚŚĞďĞƐƚƟŵĞƚŽŶĂŵĞƚŚĞƐĐƌŝƉƚĮůĞ͍
[ 16 ]
Ä ¾ Æ Á ä
Summary
dŚŝƐĐŚĂƉƚĞƌƚƌŝĞĚƚŽƉƵƚLJŽƵĂƚĞĂƐĞĂďŽƵƚǁƌŝƟŶŐƐĐƌŝƉƚƐĨŽƌhŶŝƚLJ͘zŽƵĚŽŚĂǀĞƚŚĞĂďŝůŝƚLJ
ƚŽǁƌŝƚĞĚŽǁŶŝŶƐƚƌƵĐƟŽŶƐǁŚŝĐŚŝƐĂůůĂƐĐƌŝƉƚŝƐ͕ĂƐĞƋƵĞŶĐĞŽĨŝŶƐƚƌƵĐƟŽŶƐ͘tĞƐĂǁŚŽǁ
ƐŝŵƉůĞŝƚŝƐƚŽĐƌĞĂƚĞĂŶĞǁƐĐƌŝƉƚĮůĞ͘zŽƵƉƌŽďĂďůLJĐƌĞĂƚĞĮůĞƐŽŶLJŽƵƌĐŽŵƉƵƚĞƌĂůůƚŚĞ
ƟŵĞ͘tĞƐĂǁŚŽǁƚŽĞĂƐŝůLJďƌŝŶŐƵƉhŶŝƚLJΖƐĚŽĐƵŵĞŶƚĂƟŽŶ͘&ŝŶĂůůLJǁĞŚĂĚĂůŽŽŬĂƚƚŚĞ
DŽŶŽĞǀĞůŽƉĞĚŝƚŽƌ͘EŽŶĞŽĨƚŚŝƐǁĂƐĐŽŵƉůŝĐĂƚĞĚ͘/ŶĨĂĐƚ͕LJŽƵƉƌŽďĂďůLJƵƐĞĂƉƉƐĂůůƚŚĞ
ƟŵĞƚŚĂƚĚŽƐŝŵŝůĂƌƚŚŝŶŐƐ͘ŽƩŽŵůŝŶĞ͕ƚŚĞƌĞΖƐŶŽƚŚŝŶŐƚŽĨĞĂƌŚĞƌĞ͘
ůƌŝŐŚƚ͕ůĞƚΖƐƐƚĂƌƚŽīŚĂƉƚĞƌϮ͕/ŶƚƌŽĚƵĐŝŶŐƚŚĞƵŝůĚŝŶŐůŽĐŬƐĨŽƌhŶŝƚLJ^ĐƌŝƉƚƐďLJŚĂǀŝŶŐĂŶ
ŝŶƚƌŽĚƵĐƚŽƌLJůŽŽŬĂƚƚŚĞďƵŝůĚŝŶŐďůŽĐŬƐŽĨƉƌŽŐƌĂŵŵŝŶŐǁĞΖůůďĞƵƐŝŶŐ͗ǀĂƌŝĂďůĞƐ͕ŵĞƚŚŽĚƐ͕
Žƚ^LJŶƚĂdž͕ĂŶĚƚŚĞĐůĂƐƐ͘ŽŶΖƚůĞƚƚŚĞƐĞƚĞƌŵƐƐĐĂƌĞLJŽƵ͘dŚĞĐŽŶĐĞƉƚƐďĞŚŝŶĚĞĂĐŚŽŶĞŽĨ
ƚŚĞƐĞĂƌĞƐŝŵŝůĂƌƚŽƚŚŝŶŐƐLJŽƵĚŽŽŌĞŶ͕ƉĞƌŚĂƉƐĞǀĞƌLJĚĂLJ͘
[ 17 ]
Introducing the Building Blocks
2
IRU8QLW\6FULSWV
ƉƌŽŐƌĂŵŵŝŶŐůĂŶŐƵĂŐĞƐƵĐŚĂƐηĐĂŶĂƉƉĞĂƌƚŽďĞǀĞƌLJĐŽŵƉůŝĐĂƚĞĚĂƚ
ĨŝƌƐƚďƵƚŝŶƌĞĂůŝƚLJ͕ƚŚĞƌĞĂƌĞƚǁŽƉĂƌƚƐƚŚĂƚĨŽƌŵŝƚƐĨŽƵŶĚĂƚŝŽŶ͘dŚĞƐĞƉĂƌƚƐ
ĂƌĞǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͘dŚĞƌĞĨŽƌĞ͕ƵŶĚĞƌƐƚĂŶĚŝŶŐƚŚĞƐĞĐƌŝƚŝĐĂůƉĂƌƚƐŝƐĂ
ƉƌĞƌĞƋƵŝƐŝƚĞĨŽƌůĞĂƌŶŝŶŐĂŶLJŽĨƚŚĞŽƚŚĞƌĨĞĂƚƵƌĞƐŽĨη͘ĞŝŶŐĂƐĐƌŝƚŝĐĂůĂƐ
ƚŚĞLJĂƌĞ͕ƚŚĞLJĂƌĞǀĞƌLJƐŝŵƉůĞĐŽŶĐĞƉƚƐƚŽƵŶĚĞƌƐƚĂŶĚ͘hƐŝŶŐƚŚĞƐĞǀĂƌŝĂďůĞĂŶĚ
ŵĞƚŚŽĚĨŽƵŶĚĂƚŝŽŶƉŝĞĐĞƐ͕ǁĞΖůůďĞŝŶƚƌŽĚƵĐĞĚƚŽƚŚĞηďƵŝůĚŝŶŐďůŽĐŬƐƵƐĞĚƚŽ
ĐƌĞĂƚĞhŶŝƚLJƐĐƌŝƉƚƐ͘
&ŽƌƚŚŽƐĞƉĞŽƉůĞǁŚŽŐĞƚƐǁĞĂƚLJƉĂůŵƐũƵƐƚƚŚŝŶŬŝŶŐŽĨƚŚĞǁŽƌĚƐĐƌŝƉƚ͕ǁŝƉĞLJŽƵƌŚĂŶĚƐĂŶĚ
ƌĞůĂdž͘/ŶƚŚŝƐĐŚĂƉƚĞƌ͕/ΖŵŐŽŝŶŐƚŽƵƐĞƚĞƌŵƐƚŚĂƚĂƌĞĂůƌĞĂĚLJĨĂŵŝůŝĂƌƚŽLJŽƵƚŽŝŶƚƌŽĚƵĐĞƚŚĞ
ďƵŝůĚŝŶŐďůŽĐŬƐŽĨƉƌŽŐƌĂŵŵŝŶŐ͘dŚĞĨŽůůŽǁŝŶŐĂƌĞƚŚĞĐŽŶĐĞƉƚƐŝŶƚƌŽĚƵĐĞĚŝŶƚŚŝƐĐŚĂƉƚĞƌ͗
? / @ 0 B 9 . / 9 = > A ? / @ 9 ? : . / , 2
)
? / @ 0 F A 2 1 + C ? / @ 9 ? : . / , 2
)
dŚĞĐůĂƐƐǁŚŝĐŚŝƐĂĐŽŶƚĂŝŶĞƌĨŽƌǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ
< . @ / @ 0 9 ? : . / , 2 / @ 2 + 9 * + F , + @ A @ 2
ŽŵƉŽŶĞŶƚƐĐŽŵŵƵŶŝĐĂƟŶŐƵƐŝŶŐƚŚĞŽƚ^LJŶƚĂdž
>ĞƚΖƐŚĂǀĞĂůŽŽŬĂƚƚŚĞƐĞƉƌŝŵĂƌLJĐŽŶĐĞƉƚƐ͘
0
Å Æ ä Â 1 2 å 3 Å 4 Æ Á 5 2 3 À 1 3 Å 4 5 À Â å 6 Ç Ã Â ä 7 Å 3 Æ 8 9 å ä 3 Æ Ç
8VLQJWKHWHUPPHWKRGLQVWHDGRIIXQFWLRQ
zŽƵĂƌĞĐŽŶƐƚĂŶƚůLJŐŽŝŶŐƚŽƐĞĞƚŚĞǁŽƌĚƐĨƵŶĐƟŽŶ ŵĞƚŚŽĚƵƐĞĚĞǀĞƌLJǁŚĞƌĞĂƐ
9 @ C
- + < > A 9 . @ @ / 2 - D
)
dŚĞǁŽƌĚƐĨƵŶĐƟŽŶĂŶĚŵĞƚŚŽĚƚƌƵůLJŵĞĂŶƚŚĞƐĂŵĞ
ý ü þ ý ü : ü ý
ÿ ú ý ü þ
KďũĞĐƚͲKƌŝĞŶƚĞĚWƌŽŐƌĂŵŵŝŶŐ;KKW
N
/ǁŝůůƵƐĞƚŚĞǁŽƌĚΗŵĞƚŚŽĚΗƚŚƌŽƵŐŚŽƵƚƚŚŝƐŬ͕ũƵƐƚƚŽďĞĐŽŶƐŝƐƚĞŶƚǁŝƚŚηŐƵŝĚĞůŝŶĞƐ͘
2 F 9 ; A ? ? A @ ? A 2 + > A 9 . @ 2 1 A : + . . A : 2 2 A . F / @ + > + 0 - E + . * D > ? + G @ / 2 - J : . / , 2 9 @ C + + 9 . A # # 8
! ' )
^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞƉƌŽďĂďůLJƐŚŽƵůĚŚĂǀĞƵƐĞĚƚŚĞǁŽƌĚ
> 9 @ 0 < 9 0 A ? D 1 A 9 < 2 1 + . ? + E 2 1 A
ŵĞƚŚŽĚŝŶƐƚĞĂĚŽĨĨƵŶĐƟŽŶŝŶĂůůĚŽĐƵŵĞŶƚĂƟŽŶ͘
&ƌŽŵŶŽǁŽŶ/ΖŵŐŽŝŶŐƚŽƵƐĞƚŚĞǁŽƌĚƐŵĞƚŚŽĚŽƌŵĞƚŚŽĚƐŝŶƚŚŝƐŬ͘
tŚĞŶ/ƌĞĨĞƌƚŽƚŚĞĨƵŶĐƟŽŶƐƐŚŽǁŶŝŶƚŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ͕/ΖŵŐŽŝŶŐƚŽ
ƵƐĞƚŚĞǁŽƌĚŵĞƚŚŽĚŝŶƐƚĞĂĚ͕ũƵƐƚƚŽďĞĐŽŶƐŝƐƚĞŶƚƚŚƌŽƵŐŚŽƵƚƚŚŝƐŬ͘
[ 20 ]
Ä ¾ Æ Á ä ;
tŚĂƚΖƐƵƐƵĂůůLJŝŶĂŵĂŝůďŽdž͕ďĞƐŝĚĞƐĂŝƌ͍tĞůů͕ƵƐƵĂůůLJƚŚĞƌĞΖƐŶŽƚŚŝŶŐďƵƚŽĐĐĂƐŝŽŶĂůůLJƚŚĞƌĞ
ŝƐƐŽŵĞƚŚŝŶŐŝŶŝƚ͘^ŽŵĞƟŵĞƐƚŚĞƌĞΖƐŵŽŶĞLJ;ĂƉĂLJĐŚĞĐŬͿ͕ďŝůůƐ͕ĂƉŝĐƚƵƌĞĨƌŽŵĂƵŶƚDĂďĞů͕
ĂŶĚƐŽŽŶ͘dŚĞƉŽŝŶƚŝƐǁŚĂƚΖƐŝŶĂŵĂŝůďŽdžĐĂŶǀĂƌLJ͘dŚĞƌĞĨŽƌĞ͕ůĞƚΖƐĐĂůůĞĂĐŚ
9 ? , / C A . G
F 9 / > = + ì 9 B 9 . / 9 = > A / @ ? 2 A 9 C D
Naming a variable
ĐŽƵŶƚƌLJŵĂŝůďŽdžĞƐ͕ŝĨ/ĂƐŬĞĚLJŽƵƚŽƐĞĞǁŚĂƚŝƐŝŶƚŚĞŵĂŝůďŽdž͕ƚŚĞ
? / @ 0 2 1 A , / : 2 < . A + E 2 1 A
)
ĮƌƐƚƚŚŝŶŐLJŽƵΖĚĂƐŬŝƐǁŚŝĐŚŽŶĞ͍/Ĩ/ƐĂŝĚŝŶƚŚĞ^ŵŝƚŚŵĂŝůďŽdž͕ŽƌƚŚĞďƌŽǁŶŵĂŝůďŽdž͕Žƌ
ƚŚĞƌŽƵŶĚŵĂŝůďŽdž͕LJŽƵΖĚŬŶŽǁĞdžĂĐƚůLJǁŚŝĐŚŵĂŝůďŽdžƚŽŽƉĞŶƚŽƌĞƚƌŝĞǀĞǁŚĂƚŝƐŝŶƐŝĚĞ͘
^ŝŵŝůĂƌůLJ͕ŝŶƐĐƌŝƉƚƐ͕LJŽƵŚĂǀĞƚŽŶĂŵĞLJŽƵƌǀĂƌŝĂďůĞƐǁŝƚŚĂƵŶŝƋƵĞŶĂŵĞ͘dŚĞŶ/ĐĂŶĂƐŬ
LJŽƵǁŚĂƚΖƐŝŶƚŚĞǀĂƌŝĂďůĞŶĂŵĞĚmyNumber͕ŽƌǁŚĂƚĞǀĞƌĐŽŽůŶĂŵĞLJŽƵŵŝŐŚƚƵƐĞ͘
$YDULDEOHQDPHLVMXVWDVXEVWLWXWHIRUDYDOXH
ƐLJŽƵǁƌŝƚĞĂƐĐƌŝƉƚĂŶĚŵĂŬĞĂǀĂƌŝĂďůĞ͕LJŽƵĂƌĞƐŝŵƉůLJĐƌĞĂƟŶŐĂƉůĂĐĞŚŽůĚĞƌŽƌĂ
ƐƵďƐƟƚƵƚĞĨŽƌƚŚĞĂĐƚƵĂůŝŶĨŽƌŵĂƟŽŶLJŽƵǁĂŶƚƚŽƵƐĞ͘>ŽŽŬĂƚƚŚĞĨŽůůŽǁŝŶŐƐŝŵƉůĞŵĂƚŚ
ĞƋƵĂƟŽŶ͗Ϯнϵсϭϭ
^ŝŵƉůĞĞŶŽƵŐŚ͘EŽǁƚƌLJƚŚĞĨŽůůŽǁŝŶŐĞƋƵĂƟŽŶ͗ϭϭнmyNumberс͍͍͍
dŚĞƌĞŝƐŶŽĂŶƐǁĞƌƚŽƚŚŝƐLJĞƚ͘zŽƵĐĂŶΖƚĂĚĚĂŶƵŵďĞƌĂŶĚĂǁŽƌĚ͘'ŽŝŶŐďĂĐŬƚŽƚŚĞ
ǁƌŝƚĞƚŚĞŶƵŵďĞƌϵŽŶĂƉŝĞĐĞŽĨƉĂƉĞƌ͘WƵƚŝƚŝŶƚŚĞŵĂŝůďŽdžŶĂŵĞĚ
F 9 / > = + ì 9 @ 9 > + 0 - G
myNumber͘EŽǁLJŽƵĐĂŶƐŽůǀĞƚŚĞĞƋƵĂƟŽŶ͘tŚĂƚΖƐƚŚĞǀĂůƵĞŝŶmyNumber͍dŚĞǀĂůƵĞ
ŝƐϵ͘^ŽŶŽǁƚŚĞĞƋƵĂƟŽŶůŽŽŬƐŶŽƌŵĂů͗ϭϭнϵсϮϬ
myNumber
1 A B 9 . / 9 = > A / ? @ + 2 1 / @ 0 F + . A 2 1 9 @ 9 @ 9 F A C , > 9 : A 1 + > C A . 2 + ? 2 + . A ? + F A C 9 2 9
;ŝŶĨŽƌŵĂƟŽŶͿ͘^ŽĂŶLJǁŚĞƌĞLJŽƵǁŽƵůĚůŝŬĞƚŚĞŶƵŵďĞƌϵƚŽĂƉƉĞĂƌŝŶLJŽƵƌƐĐƌŝƉƚ͕ũƵƐƚ
ǁƌŝƚĞmyNumber͕ĂŶĚƚŚĞŶƵŵďĞƌϵǁŝůůďĞƐƵďƐƟƚƵƚĞĚ͘
ůƚŚŽƵŐŚƚŚŝƐĞdžĂŵƉůĞŵŝŐŚƚƐĞĞŵƐŝůůLJĂƚĮƌƐƚ͕ǀĂƌŝĂďůĞƐĐĂŶƐƚŽƌĞĂůůŬŝŶĚƐŽĨĚĂƚĂƚŚĂƚŝƐ
ŵƵĐŚŵŽƌĞĐŽŵƉůĞdžƚŚĂŶĂƐŝŵƉůĞŶƵŵďĞƌ͘dŚŝƐŝƐũƵƐƚĂƐŝŵƉůĞĞdžĂŵƉůĞƚŽƐŚŽǁLJŽƵŚŽǁ
ĂǀĂƌŝĂďůĞǁŽƌŬƐ͘
[ 21 ]
0
Å Æ ä Â 1 2 å 3 Å 4 Æ Á 5 2 3 À 1 3 Å 4 5 À Â å 6 Ç Ã Â ä 7 Å 3 Æ 8 9 å ä 3 Æ Ç
7LPHIRUDFWLRQ²FUHDWLQJDYDULDEOHDQGVHHLQJKRZLWZRUNV
>ĞƚΖƐƐĞĞŚŽǁƚŚŝƐĂĐƚƵĂůůLJǁŽƌŬƐŝŶŽƵƌƐĐƌŝƉƚ͘ŽŶΖƚďĞĐŽŶĐĞƌŶĞĚĂďŽƵƚƚŚĞĚĞƚĂŝůƐ
ŽĨŚŽǁƚŽǁƌŝƚĞƚŚŝƐ͕ũƵƐƚŵĂŬĞƐƵƌĞLJŽƵƌƐĐƌŝƉƚŝƐƚŚĞƐĂŵĞĂƐƚŚĞƐĐƌŝƉƚƐŚŽǁŶŝŶƚŚĞ
@ A ì 2 ? : . A A @ ? 1 + 2 D
ó ô
LearningScript
@ 2 1 A @ / 2 - , , 9 @ A > G C + < = > A : > / : ; + @ D
! ) (
-
/ŶDŽŶŽĞǀĞůŽƉ͕ǁƌŝƚĞƚŚĞůŝŶĞƐϲ͕ϭϭ͕ĂŶĚϭϯĨƌŽŵƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
õ ô
^ĂǀĞƚŚĞĮůĞ͘
ö ô
dŽŵĂŬĞƚŚŝƐƐĐƌŝƉƚǁŽƌŬ͕ŝƚŚĂƐƚŽďĞĂƩĂĐŚĞĚƚŽĂ'ĂŵĞKďũĞĐƚ͘ƵƌƌĞŶƚůLJ͕ŝŶŽƵƌ^ƚĂƚĞ
ƉƌŽũĞĐƚǁĞŽŶůLJŚĂǀĞŽŶĞ'ĂŵĞKďũĞĐƚ͕ƚŚĞDĂŝŶĂŵĞƌĂ͘dŚŝƐǁŝůůĚŽŶŝĐĞůLJ
! < "
ĚŽĞƐŶΖƚĂīĞĐƚƚŚĞDĂŝŶĂŵĞƌĂŝŶĂŶLJǁĂLJ͘dŚĞƐĐƌŝƉƚƐŝŵƉůLJƌƵŶƐďLJ
? / @ : A 2 1 / ? ? : . / , 2
ǀŝƌƚƵĞŽĨŝƚďĞŝŶŐĂƩĂĐŚĞĚƚŽĂ'ĂŵĞKďũĞĐƚ͘
DĂŝŶĂŵĞƌĂ
ó ô
LearningScript
¤ . 9 0 + @ 2 + 2 1 A D
DĂŝŶĂŵĞƌĂ
õ ô
J A > A : 2 ? + 2 1 9 2 / 2 9 , , A 9 . ? / @ 2 1 A , 9 @ A > D
sĞƌŝĨLJǁŚĞƚŚĞƌLearningScriptŝƐĂƩĂĐŚĞĚ͘
ö ô
ŽŶƐŽůĞƉĂŶĞůƚŽǀŝĞǁƚŚĞŽƵƚƉƵƚŽĨƚŚĞƐĐƌŝƉƚ͘
ô
.
# , A @ 2 1 A @ / 2 -
)
WůĂLJ
ô
/
* > / : ; + @ D
[ 22 ]
Ä ¾ Æ Á ä ;
dŚĞƉƌĞĐĞĚŝŶŐƐƚĞƉƐĂƌĞƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͗
7LPHIRUDFWLRQ²FKDQJLQJWKHQXPEHUWRDGLIIHUHQWQXPEHU
myNumberŝƐĂǀĂƌŝĂďůĞ͕ƚŚĞǀĂůƵĞŝƚƐƚŽƌĞƐĐĂŶǀĂƌLJ͘/ĨǁĞĐŚĂŶŐĞǁŚĂƚŝƐƐƚŽƌĞĚŝŶŝƚ͕
J / @ : A
ƚŚĞĂŶƐǁĞƌƚŽƚŚĞĞƋƵĂƟŽŶǁŝůůĐŚĂŶŐĞƚŽŽ͘&ŽůůŽǁƚŚĞĞŶƐƵŝŶŐƐƚĞƉƐ͗
ϵ ϭϵ
ó ô
J 2 + , 2 1 A 0 9 F A 9 @ C : 1 9 @ 0 A 2 + D
EŽƟĐĞƚŚĂƚǁŚĞŶLJŽƵƌĞƐƚĂƌƚƚŚĞŐĂŵĞ͕ƚŚĞĂŶƐǁĞƌǁŝůůďĞϯϬ
õ ô
[ 23 ]
0
Å Æ ä Â 1 2 å 3 Å 4 Æ Á 5 2 3 À 1 3 Å 4 5 À Â å 6 Ç Ã Â ä 7 Å 3 Æ 8 9 å ä 3 Æ Ç
tĞĚŝĚŶΖƚŐĞƚŝŶƚŽƚŚĞĚĞƚĂŝůƐŽĨƚŚĞǁŽƌĚŝŶŐƵƐĞĚƚŽĐƌĞĂƚĞmyNumber
G + . 2 1 A 2 - , A ? + E
ǀĂƌŝĂďůĞƐLJŽƵĐĂŶĐƌĞĂƚĞ͕ďƵƚƚŚĂƚǁĂƐŶΖƚƚŚĞŝŶƚĞŶƚ͘dŚŝƐǁĂƐũƵƐƚƚŽƐŚŽǁLJŽƵŚŽǁĂǀĂƌŝĂďůĞ
ǁŽƌŬƐ͘/ƚũƵƐƚŚŽůĚƐĚĂƚĂƐŽLJŽƵĐĂŶƵƐĞƚŚĂƚĚĂƚĂĞůƐĞǁŚĞƌĞŝŶLJŽƵƌƐĐƌŝƉƚ͘tĞΖůůŐĞƚŝŶƚŽƚŚĞ
ĮŶĞƌĚĞƚĂŝůƐŽĨǀĂƌŝĂďůĞƐŝŶ sĂƌŝĂďůĞƐŝŶĞƚĂŝů
Þ ß à G D
á é
+DYHDJRKHUR²FKDQJLQJWKHYDOXHRIP\1XPEHU
myNumber
@ 2 1 A , 9 @ A > G 2 . - : 1 9 @ 0 / @ 0 2 1 A B 9 > < A + E 2 + ? + F A + 2 1 A . B 9 > < A G A B A @ 9
!
ŶĞŐĂƟǀĞǀĂůƵĞ͘EŽƟĐĞƚŚĞĐŚĂŶŐĞŝŶĂŶƐǁĞƌŝŶƚŚĞŽŶƐŽůĞ
D
What is a method?
tŚĞŶǁĞǁƌŝƚĞĂƐĐƌŝƉƚ͕ǁĞĂƌĞŵĂŬŝŶŐůŝŶĞƐŽĨĐŽĚĞƚŚĂƚƚŚĞĐŽŵƉƵƚĞƌŝƐŐŽŝŶŐƚŽĞdžĞĐƵƚĞ͕
ŽŶĞůŝŶĞĂƚĂƟŵĞ͘ƐǁĞǁƌŝƚĞŽƵƌĐŽĚĞ͕ƚŚĞƌĞǁŝůůďĞƚŚŝŶŐƐǁĞǁĂŶƚŽƵƌŐĂŵĞƚŽĞdžĞĐƵƚĞ
ŵŽƌĞƚŚĂŶŽŶĐĞ͘&ŽƌĞdžĂŵƉůĞ͕ǁĞĐĂŶǁƌŝƚĞĂĐŽĚĞƚŚĂƚĂĚĚƐƚǁŽŶƵŵďĞƌƐ͘^ƵƉƉŽƐĞŽƵƌ
ŐĂŵĞŶĞĞĚƐƚŽĂĚĚƚŚĞƚǁŽŶƵŵďĞƌƐƚŽŐĞƚŚĞƌĂŚƵŶĚƌĞĚĚŝīĞƌĞŶƚƟŵĞƐĚƵƌŝŶŐƚŚĞŐĂŵĞ͘
ΗtŽǁ͕/ŚĂǀĞƚŽǁƌŝƚĞƚŚĞƐĂŵĞĐŽĚĞĂŚƵŶĚƌĞĚƟŵĞƐƚŚĂƚĂĚĚƐƚǁŽŶƵŵďĞƌƐ
J + - + < ? 9 - G
ƚŽŐĞƚŚĞƌ͘dŚĞƌĞŚĂƐƚŽďĞĂďĞƩĞƌǁĂLJ͘Η
>ĞƚĂŵĞƚŚŽĚƚĂŬĞĂǁĂLJLJŽƵƌƚLJƉŝŶŐƉĂŝŶ͘zŽƵũƵƐƚŚĂǀĞƚŽǁƌŝƚĞƚŚĞĐŽĚĞƚŽĂĚĚƚǁŽ
AddTwoNumbers()
@ < F = A . ? + @ : A G 9 @ C 2 1 A @ 0 / B A 2 1 / ? : 1 < @ ; + E : + C A 9 @ 9 F A G ? < : 1 9 ? D
EŽǁ͕ĞǀĞƌLJƟŵĞŽƵƌŐĂŵĞŶĞĞĚƐƚŽĂĚĚƚǁŽŶƵŵďĞƌƐ͕ĚŽŶΖƚǁƌŝƚĞƚŚĞĐŽĚĞŽǀĞƌĂŶĚ
AddTwoNumbers()
+ B A . G < ? 2 : 9 > > 2 1 A F A 2 1 + C D
7LPHIRUDFWLRQ²OHDUQLQJKRZDPHWKRGZRUNV
tĞΖƌĞŐŽŝŶŐƚŽ LearningScriptĂŐĂŝŶ͘/ŶƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͕ƚŚĞƌĞĂƌĞĂĨĞǁ
A C / 2
ůŝŶĞƐŽĨĐŽĚĞƚŚĂƚůŽŽŬƐƚƌĂŶŐĞ͘tĞĂƌĞŶŽƚŐŽŝŶŐƚŽŐĞƚŝŶƚŽƚŚĞĚĞƚĂŝůƐŽĨǁŚĂƚƚŚĞLJŵĞĂŶ
ŝŶƚŚŝƐĐŚĂƉƚĞƌ͘tĞǁŝůůĚŝƐĐƵƐƐƚŚĂƚŝŶ 'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
Þ ß à G D / 0 1 2
"
á ê
ŶŽǁ͕/ĂŵũƵƐƚƐŚŽǁŝŶŐLJŽƵĂŵĞƚŚŽĚΖƐďĂƐŝĐƐƚƌƵĐƚƵƌĞĂŶĚŚŽǁŝƚǁŽƌŬƐ͗
LearningScriptĨŽƌĞĚŝƟŶŐ͘
ó ô
@ + @ + ¤ A B A > + , G ? A > A : 2
! #
ĚŝƚƚŚĞĮůĞƐŽƚŚĂƚŝƚůŽŽŬƐĞdžĂĐƚůLJůŝŬĞƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͘
õ ô
[ 24 ]
Ä ¾ Æ Á ä ;
^ĂǀĞƚŚĞĮůĞ͘
ö ô
:KDW
VLQWKLVVFULSWÀOH"
/ŶƚŚĞƉƌĞǀŝŽƵƐƐĐƌĞĞŶƐŚŽƚ͕ůŝŶĞƐϲĂŶĚϳǁŝůůůŽŽŬĨĂŵŝůŝĂƌƚŽLJŽƵ͖ƚŚĞLJĂƌĞǀĂƌŝĂďůĞƐũƵƐƚĂƐ
ŝŶƚŚĞƉƌĞǀŝŽƵƐƐĞĐƟŽŶ͘dŚĞƌĞĂƌĞƚǁŽŽĨƚŚĞŵƚŚŝƐƟŵĞ͘dŚĞƐĞǀĂƌŝĂďůĞƐƐƚŽƌĞ
- + < > A 9 . @ A C
2 1 A @ < F = A . ? 2 1 9 2 9 . A 0 + / @ 0 2 + = A 9 C C A C D
>ŝŶĞϭϲŵĂLJůŽŽŬǀĞƌLJƐƚƌĂŶŐĞƚŽLJŽƵ͘ŽŶΖƚĐŽŶĐĞƌŶLJŽƵƌƐĞůĨƌŝŐŚƚŶŽǁǁŝƚŚŚŽǁƚŚŝƐǁŽƌŬƐ͘
:ƵƐƚŬŶŽǁƚŚĂƚŝƚΖƐĂůŝŶĞŽĨĐŽĚĞƚŚĂƚůĞƚƐƚŚĞƐĐƌŝƉƚŬŶŽǁǁŚĞŶƚŚĞZĞƚƵƌŶͬ
; A - / ?
=
á
ZĞƚƵƌŶͬ ŬĞLJǁŚĞŶLJŽƵǁĂŶƚƚŽĂĚĚƚŚĞƚǁŽŶƵŵďĞƌƐƚŽŐĞƚŚĞƌ͘
, . A ? ? A C D 8 . A ? ? 2 1 A
=
á
>ŝŶĞϭϳŝƐǁŚĞƌĞƚŚĞAddTwoNumbers()ŵĞƚŚŽĚŐĞƚƐĐĂůůĞĚŝŶƚŽĂĐƟŽŶ͘/ŶĨĂĐƚ͕ƚŚĂƚΖƐ
ĞdžĂĐƚůLJŚŽǁƚŽĚĞƐĐƌŝďĞŝƚ͘dŚŝƐůŝŶĞŽĨĐŽĚĞĐĂůůƐƚŚĞŵĞƚŚŽĚ͘
AddTwoNumbers()ŵĞƚŚŽĚ͘ŽŶΖƚďĞĐŽŶĐĞƌŶĞĚĂďŽƵƚ
K / @ A ? 4 5 G 4 6 G 4 4 G 9 @ C 4 7 F 9 ; A < , 2 1 A
ƚŚĞĐŽĚĞĚĞƚĂŝůƐLJĞƚ͘/ũƵƐƚǁĂŶƚLJŽƵƚŽƵŶĚĞƌƐƚĂŶĚŚŽǁĐĂůůŝŶŐĂŵĞƚŚŽĚǁŽƌŬƐ͘
void AddTwoNumbers ()
[ 25 ]
0
Å Æ ä Â 1 2 å 3 Å 4 Æ Á 5 2 3 À 1 3 Å 4 5 À Â å 6 Ç Ã Â ä 7 Å 3 Æ 8 9 å ä 3 Æ Ç
AddTwoNumbers() AddTwoNumbers()
1 A / ? 2 1 A @ 9 F A + E 2 1 A F A 2 1 + C D K / ; A 9 B 9 . / 9 = > A G / ?
ŶŽƚŚŝŶŐŵŽƌĞƚŚĂŶĂŶĂŵĞĚƉůĂĐĞŚŽůĚĞƌŝŶƚŚĞŵĞŵŽƌLJ͕ďƵƚƚŚŝƐƟŵĞŝƚƐƚŽƌĞƐƐŽŵĞůŝŶĞƐŽĨ
ĐŽĚĞŝŶƐƚĞĂĚ͘^ŽĂŶLJǁŚĞƌĞǁĞǁŽƵůĚůŝŬĞƚŽƵƐĞƚŚĞĐŽĚĞŽĨƚŚŝƐŵĞƚŚŽĚŝŶŽƵƌƐĐƌŝƉƚ͕ũƵƐƚ
ǁƌŝƚĞAddTwoNumbers()͕ĂŶĚƚŚĞĐŽĚĞǁŝůůďĞƐƵďƐƟƚƵƚĞĚ͘
>ŝŶĞϮϭŚĂƐĂŶŽƉĞŶŝŶŐĐƵƌůLJͲďƌĂĐĞĂŶĚůŝŶĞϮϯŚĂƐĂĐůŽƐŝŶŐĐƵƌůLJͲďƌĂĐĞ͘ǀĞƌLJƚŚŝŶŐďĞƚǁĞĞŶ
ƚŚĞƚǁŽĐƵƌůLJͲďƌĂĐĞƐŝƐƚŚĞĐŽĚĞƚŚĂƚŝƐĞdžĞĐƵƚĞĚǁŚĞŶƚŚŝƐŵĞƚŚŽĚŝƐĐĂůůĞĚŝŶ
+ < . ? : . / , 2 D
>ŽŽŬĂƚůŝŶĞϭϳĨƌŽŵƚŚĞƉƌĞǀŝŽƵƐƐĐƌĞĞŶƐŚŽƚ͗
AddTwoNumbers();
AddTwoNumbers()ŝƐĐĂůůĞĚ͘dŚŝƐŵĞĂŶƐƚŚĂƚƚŚĞĐŽĚĞďĞƚǁĞĞŶƚŚĞ
1 A F A 2 1 + C @ 9 F A
/ƚΖƐůŝŬĞŚĂǀŝŶŐĂůůŽĨƚŚĞĐŽĚĞŽĨĂŵĞƚŚŽĚƌŝŐŚƚƚŚĞƌĞŽŶ
ůŝŶĞϭϳ͘
AddTwoNumbers()
# E : + < . ? A G 2 1 / ? F A 2 1 + C + @ > - 1 9 ? + @ A > / @ A + E : + C A 2 + A ì A : < 2 A G = < 2 9
>ŝŶĞϮϮŝƐƚŚĞĂĐƟŽŶƉĂƌƚŽĨƚŚŝƐŵĞƚŚŽĚ͕ƚŚĞƉĂƌƚďĞƚǁĞĞŶƚŚĞĐƵƌůLJͲďƌĂĐĞƐ͘dŚŝƐůŝŶĞŽĨĐŽĚĞ
ŝƐĂĚĚŝŶŐƚŚĞƚǁŽǀĂƌŝĂďůĞƐƚŽŐĞƚŚĞƌĂŶĚĚŝƐƉůĂLJŝŶŐƚŚĞĂŶƐǁĞƌƚŽƚŚĞhŶŝƚLJŽŶƐŽůĞ
D 1 A @ G
ĨŽůůŽǁƚŚĞĞŶƐƵŝŶŐƐƚĞƉƐ͗
ŽŶƐŽůĞƉĂŶĞůƐŚŽǁŝŶŐ͘
6 D + = 9 : ; 2 + @ / 2 - 9 @ C 1 9 B A 2 1 A
% )
EŽǁĐůŝĐŬŽŶWůĂLJ
4 D D
ŽŶƐŽůĞ
: 2 < 9 > > - G 9 ? - + < ? / 2 2 1 A . A > + + ; / @ 0 9 2 2 1 A = > 9 @ ; , 9 @ A > G 2 1 A ? : . / , 2 / ? . < @ @ / @ 0 , A . E A : 2 > - G
'
ũƵƐƚĂƐǁĞƉƌŽŐƌĂŵŵĞĚŝƚ͘>ŝŶĞϭϲŝŶƚŚĞƐĐƌŝƉƚŝƐǁĂŝƟŶŐĨŽƌLJŽƵƚŽƉƌĞƐƐƚŚĞZĞƚƵƌŶͬ
=
á
ŬĞLJ͘WƌĞƐƐŝƚŶŽǁ͘
ŶĚƚŚĞƌĞLJŽƵŐŽ͊dŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚƐŚŽǁƐLJŽƵƚŚĞƌĞƐƵůƚŽĨĂĚĚŝŶŐƚǁŽǀĂƌŝĂďůĞƐ
ƚŽŐĞƚŚĞƌƚŚĂƚĐŽŶƚĂŝŶƚŚĞŶƵŵďĞƌƐϮĂŶĚϵ͗
[ 26 ]
Ä ¾ Æ Á ä ;
>ŝŶĞϭϲǁĂŝƚĞĚĨŽƌLJŽƵƚŽƉƌĞƐƐƚŚĞZĞƚƵƌŶͬ ͘tŚĞŶLJŽƵĚŽƚŚŝƐ͕ůŝŶĞϭϳĞdžĞĐƵƚĞƐ
; A -
=
á
ǁŚŝĐŚĐĂůůƐƚŚĞAddTwoNumbers()ŵĞƚŚŽĚ͘dŚŝƐĂůůŽǁƐƚŚĞĐŽĚĞďůŽĐŬŽĨƚŚĞŵĞƚŚŽĚ͕ůŝŶĞ
number1 number2
4 7 G 2 + 9 C C 2 1 A 2 1 A B 9 > < A ? ? 2 + . A C / @ 2 1 A B 9 . / 9 = > A ? 9 @ C D
+DYHDJRKHUR²FKDQJLQJWKHRXWSXWRIWKHPHWKRG
DĂŝŶĂŵĞƌĂƐŽŝƚƐŽŵƉŽŶĞŶƚƐƐŚŽǁŝŶƚŚĞ WůĂLJ
1 / > A @ / 2 - / ? / @ 2 1 A F + C A G ? A > A : 2 2 1 A
)
>ĞĂƌŶŝŶŐ^ĐƌŝƉƚĂŶĚŝƚƐƚǁŽǀĂƌŝĂďůĞƐ͘ŚĂŶŐĞƚŚĞ
D @ 2 1 A , 9 @ A > G > + : 9 2 A
!
Ϯ ϵ͕ƚŽĚŝīĞƌĞŶƚǀĂůƵĞƐ͘DĂŬĞƐƵƌĞƚŽĐůŝĐŬLJŽƵƌŵŽƵƐĞŝŶƚŚĞ'ĂŵĞ
B 9 > < A ? G : < . . A @ 2 > - 9 @ C
ZĞƚƵƌŶͬ ŬĞLJĂŐĂŝŶ͘zŽƵǁŝůůƐĞĞƚŚĞƌĞƐƵůƚŽĨƚŚĞ
, 9 @ A > ? + / 2 1 9 ? E + : < ? G 2 1 A @ , . A ? ? 2 1 A
=
á
ŶĞǁĂĚĚŝƟŽŶŝŶƚŚĞŽŶƐŽůĞ
D
zŽƵũƵƐƚůĞĂƌŶĞĚŚŽǁĂŵĞƚŚŽĚǁŽƌŬƐƚŽĂůůŽǁĂƐƉĞĐŝĮĐďůŽĐŬŽĨĐŽĚĞƚŽƚŽďĞĐĂůůĞĚƚŽ
, A . E + . F 9 2 9 ? ; D
tĞĚŝĚŶΖƚŐĞƚŝŶƚŽĂŶLJŽĨƚŚĞǁŽƌĚŝŶŐĚĞƚĂŝůƐŽĨŵĞƚŚŽĚƐŚĞƌĞ͕ƚŚŝƐǁĂƐũƵƐƚƚŽƐŚŽǁLJŽƵ
ĨƵŶĚĂŵĞŶƚĂůůLJŚŽǁƚŚĞLJǁŽƌŬ͘tĞΖůůŐĞƚŝŶƚŽƚŚĞĮŶĞƌĚĞƚĂŝůƐŽĨŵĞƚŚŽĚƐŝŶ
Þ ß à G
á ê
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
D
ŵĂŐŝĐǁŚĞŶhŶŝƚLJĐƌĞĂƚĞƐŽŵƉŽŶĞŶƚƐ͘
zŽƵũƵƐƚůĞĂƌŶĞĚĂďŽƵƚǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͘dŚĞƐĞƚǁŽŝƚĞŵƐĂƌĞƚŚĞďƵŝůĚŝŶŐďůŽĐŬƐƵƐĞĚ
ƚŽďƵŝůĚhŶŝƚLJƐĐƌŝƉƚƐ͘dŚĞƚĞƌŵƐĐƌŝƉƚŝƐƵƐĞĚĞǀĞƌLJǁŚĞƌĞŝŶĚŝƐĐƵƐƐŝŽŶƐĂŶĚĚŽĐƵŵĞŶƚƐ͘
>ŽŽŬŝƚƵƉŝŶƚŚĞĚŝĐƟŽŶĂƌLJĂŶĚŝƚĐĂŶďĞŐĞŶĞƌĂůůLJĚĞƐĐƌŝďĞĚĂƐǁƌŝƩĞŶƚĞdžƚ͘^ƵƌĞĞŶŽƵŐŚ͕
ƚŚĂƚΖƐǁŚĂƚǁĞŚĂǀĞ͘,ŽǁĞǀĞƌ͕ƐŝŶĐĞǁĞĂƌĞŶΖƚũƵƐƚǁƌŝƟŶŐĂƐĐƌĞĞŶƉůĂLJŽƌƉĂƐƐŝŶŐĂŶŽƚĞ
ƚŽƐŽŵĞŽŶĞ͕ǁĞŶĞĞĚƚŽůĞĂƌŶƚŚĞĂĐƚƵĂůƚĞƌŵƐƵƐĞĚŝŶƉƌŽŐƌĂŵŵŝŶŐ͘
hŶŝƚLJĐĂůůƐƚŚĞĐŽĚĞŝƚĐƌĞĂƚĞƐĂηƐĐƌŝƉƚ͘,ŽǁĞǀĞƌ͕ƉĞŽƉůĞůŝŬĞŵĞŚĂǀĞƚŽƚĞĂĐŚLJŽƵƐŽŵĞ
= 9 ? / : , . + 0 . 9 F F / @ 0 ? ; / > > ? 9 @ C 2 A > > - + < 2 1 9 2 9 ? : . / , 2 / ? . A 9 > > - 9 : > 9 ? ? D
/ŶƚŚĞƉƌĞǀŝŽƵƐƐĞĐƟŽŶĂďŽƵƚŵĞƚŚŽĚƐ͕ǁĞĐƌĞĂƚĞĚĂĐůĂƐƐ;ƐĐƌŝƉƚͿĐĂůůĞĚ
LearningScript
>
ü ú ý ü ú
? ú û ý ú ÿ ú ü ú
ŵĂŝŶĐŽŶĐĞƉƚŽƌŝĚĞĂŽĨĂĐůĂƐƐŝƐƚŚĂƚŝƚΖƐĂĐŽŶƚĂŝŶĞƌŽĨĚĂƚĂ͕ƐƚŽƌĞĚŝŶ
ǀĂƌŝĂďůĞƐ͕ĂŶĚŵĞƚŚŽĚƐƚŚĂƚƉƌŽĐĞƐƐƚŚĂƚĚĂƚĂŝŶƐŽŵĞĨĂƐŚŝŽŶ͘ĞĐĂƵƐĞ/ĚŽŶΖƚ
ŚĂǀĞƚŽĐŽŶƐƚĂŶƚůLJǁƌŝƚĞĐůĂƐƐ;ƐĐƌŝƉƚͿ͕/ǁŝůůďĞƵƐŝŶŐƚŚĞǁŽƌĚƐĐƌŝƉƚŵŽƐƚŽĨ
ƚŚĞƟŵĞ͘,ŽǁĞǀĞƌ͕/ǁŝůůĂůƐŽďĞƵƐŝŶŐĐůĂƐƐǁŚĞŶŐĞƫŶŐŵŽƌĞƐƉĞĐŝĮĐǁŝƚŚ
η͘:ƵƐƚƌĞŵĞŵďĞƌƚŚĂƚĂƐĐƌŝƉƚŝƐĂĐůĂƐƐƚŚĂƚŝƐĂƩĂĐŚĞĚƚŽĂ'ĂŵĞKďũĞĐƚ͘
[ 27 ]
0
Å Æ ä Â 1 2 å 3 Å 4 Æ Á 5 2 3 À 1 3 Å 4 5 À Â å 6 Ç Ã Â ä 7 Å 3 Æ 8 9 å ä 3 Æ Ç
ƌĞĂƟŶŐƚŚĞ'ĂŵĞƉůĂLJŝƐ:ƵƐƚĂWĂƌƚŽĨƚŚĞ'ĂŵĞ͕ǁĞǁŝůůďĞĐƌĞĂƟŶŐƐŽŵĞ
@ Þ ß à G
!
á î
ĐůĂƐƐĞƐĨŽƌĂ^ƚĂƚĞDĂĐŚŝŶĞ͘dŚĞƐĞĐůĂƐƐĞƐǁŝůůŶŽƚďĞĂƩĂĐŚĞĚƚŽĂŶLJ'ĂŵĞKďũĞĐƚƐ͕ƐŽ/
ǁŽŶΖƚďĞĐĂůůŝŶŐƚŚĞŵƐĐƌŝƉƚƐ͘
%\XVLQJDOLWWOH8QLW\PDJLFDVFULSWEHFRPHV
a Component
tŚŝůĞǁŽƌŬŝŶŐŝŶhŶŝƚLJ͕ǁĞǁĞĂƌƚŚĞĨŽůůŽǁŝŶŐƚǁŽŚĂƚƐ͗
9 F A * . A 9 2 + . 1 9 2
' % (
^ĐƌŝƉƟŶŐ;ƉƌŽŐƌĂŵŵĞƌͿŚĂƚ
tŚĞŶǁĞĮƌƐƚǁĞĂƌŽƵƌ'ĂŵĞͲƌĞĂƚŽƌŚĂƚ͕ǁĞǁŝůůďĞĚĞǀĞůŽƉŝŶŐŽƵƌ^ĐĞŶĞ͕ƐĞůĞĐƟŶŐ
'ĂŵĞKďũĞĐƚƐ͕ĂŶĚǀŝĞǁŝŶŐŽŵƉŽŶĞŶƚƐ͖ũƵƐƚĂďŽƵƚĂŶLJƚŚŝŶŐĞdžĐĞƉƚǁƌŝƟŶŐŽƵƌƐĐƌŝƉƚƐ͘
tŚĞŶǁĞƉƵƚŽƵƌ^ĐƌŝƉƟŶŐŚĂƚŽŶ͕ŽƵƌƚĞƌŵŝŶŽůŽŐLJĐŚĂŶŐĞƐĂƐĨŽůůŽǁƐ͗
tĞΖƌĞǁƌŝƟŶŐĐŽĚĞŝŶƐĐƌŝƉƚƐƵƐŝŶŐDŽŶŽĞǀĞůŽƉ
tĞΖƌĞǁŽƌŬŝŶŐǁŝƚŚǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ
dŚĞŵĂŐŝĐŚĂƉƉĞŶƐǁŚĞŶLJŽƵƉƵƚLJŽƵƌ'ĂŵĞͲƌĞĂƚŽƌŚĂƚďĂĐŬŽŶĂŶĚĂƩĂĐŚLJŽƵƌƐĐƌŝƉƚƚŽ
Ă'ĂŵĞKďũĞĐƚ͘tĂǀĞƚŚĞŵĂŐŝĐǁĂŶĚͶWͶƚŚĞƐĐƌŝƉƚĮůĞŝƐŶŽǁĐĂůůĞĚĂŽŵƉŽŶĞŶƚ͕
ĂŶĚƚŚĞƉƵďůŝĐǀĂƌŝĂďůĞƐŽĨƚŚĞƐĐƌŝƉƚĂƌĞŶŽǁƚŚĞƉƌŽƉĞƌƟĞƐLJŽƵĐĂŶƐĞĞĂŶĚĐŚĂŶŐĞŝŶƚŚĞ
, 9 @ A > D
-
ũƵƐƚƐŝƫŶŐƚŚĞƌĞ͘tŚĞŶǁĞƚĞůůhŶŝƚLJƚŽĂƩĂĐŚŝƚƚŽĂ'ĂŵĞKďũĞĐƚ͕ǁĞŚĂǀĞŶΖƚĐƌĞĂƚĞĚ
ĂŶŽƚŚĞƌĐŽƉLJŽĨƚŚĞĮůĞ͕ĂůůǁĞΖǀĞĚŽŶĞŝƐƚĞůůhŶŝƚLJǁĞǁĂŶƚƚŚĞďĞŚĂǀŝŽƌƐĚĞƐĐƌŝďĞĚŝŶ
+ < . ? : . / , 2 2 + = A 9 * + F , + @ A @ 2 + E 2 1 A 9 F A # = A : 2 D
%
tŚĞŶǁĞĐůŝĐŬŽŶƚŚĞWůĂLJďƵƩŽŶ͕hŶŝƚLJůŽĂĚƐƚŚĞ'ĂŵĞKďũĞĐƚŝŶƚŽƚŚĞĐŽŵƉƵƚĞƌΖƐ
ŵĞŵŽƌLJ͘^ŝŶĐĞƚŚĞƐĐƌŝƉƚŝƐĂƩĂĐŚĞĚƚŽĂ'ĂŵĞKďũĞĐƚ͕hŶŝƚLJĂůƐŽŚĂƐƚŽŵĂŬĞĂƉůĂĐĞ
ŝŶƚŚĞĐŽŵƉƵƚĞƌΖƐŵĞŵŽƌLJƚŽƐƚŽƌĞĂŽŵƉŽŶĞŶƚĂƐƉĂƌƚŽĨƚŚĞ'ĂŵĞKďũĞĐƚ͘dŚĞ
ŽŵƉŽŶĞŶƚŚĂƐƚŚĞĐĂƉĂďŝůŝƟĞƐƐƉĞĐŝĮĞĚŝŶƚŚĞƐĐƌŝƉƚ;ďůƵĞƉƌŝŶƚͿǁĞĐƌĞĂƚĞĚ͘
[ 28 ]
Ä ¾ Æ Á ä ;
&ŽƌďĞŐŝŶŶĞƌƐƚŽhŶŝƚLJ͕ƐƚƵĚLJŝŶŐηŝŶŚĞƌŝƚĂŶĐĞŝƐŶΖƚĂƐƵďũĞĐƚLJŽƵŶĞĞĚƚŽůĞĂƌŶŝŶĂŶLJŐƌĞĂƚ
ĚĞƚĂŝů͕ďƵƚLJŽƵĚŽŶĞĞĚƚŽŬŶŽǁƚŚĂƚĞĂĐŚhŶŝƚLJƐĐƌŝƉƚƵƐĞƐŝŶŚĞƌŝƚĂŶĐĞ͘tĞƐĞĞƚŚĞĐŽĚĞŝŶ
ĞǀĞƌLJƐĐƌŝƉƚƚŚĂƚǁŝůůďĞĂƩĂĐŚĞĚƚŽĂ'ĂŵĞKďũĞĐƚ͘/ŶLearningScript͕ƚŚĞĐŽĚĞŝƐŽŶůŝŶĞϰ͗
public class LearningScript : MonoBehaviour
dŚĞĐŽůŽŶĂŶĚƚŚĞůĂƐƚǁŽƌĚŽĨƚŚĂƚĐŽĚĞŵĞĂŶƐƚŚĂƚƚŚĞLearningScriptĐůĂƐƐŝƐŝŶŚĞƌŝƟŶŐ
MonoBehaviour
= A 1 9 B / + . ? E . + F 2 1 A : > 9 ? ? D 1 / ? ? / F , > - F A 9 @ ? 2 1 9 2 2 1 A + @ + A 1 9 B / + < .
#
ĐůĂƐƐŝƐŵĂŬŝŶŐĨĞǁŽĨŝƚƐǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐĂǀĂŝůĂďůĞƚŽƚŚĞ>ĞĂƌŶŝŶŐ^ĐƌŝƉƚĐůĂƐƐ͘/ƚΖƐ
@ + : + / @ : / C A @ : A 2 1 9 2 2 1 A B 9 . / 9 = > A ? 9 @ C F A 2 1 + C ? / @ 1 A . / 2 A C > + + ; < ? 2 > / ; A ? + F A + E 2 1 A : + C A
ǁĞƐĂǁŝŶƚŚĞhŶŝƚLJ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ
D
dŚĞĨŽůůŽǁŝŶŐĂƌĞƚŚĞƚǁŽŝŶŚĞƌŝƚĞĚďĞŚĂǀŝŽƌƐŝŶƚŚĞLearningScript
I
>ŝŶĞϵ͗͗void Start ()
>ŝŶĞϭϰ͗void Update ()
dŚĞŵĂŐŝĐŝƐƚŚĂƚLJŽƵĚŽŶΖƚŚĂǀĞƚŽĐĂůůƚŚĞƐĞŵĞƚŚŽĚƐ͕hŶŝƚLJĐĂůůƐƚŚĞŵ
ĂƵƚŽŵĂƟĐĂůůLJ͘^ŽƚŚĞĐŽĚĞLJŽƵƉůĂĐĞŝŶƚŚĞƐĞŵĞƚŚŽĚƐŐĞƚƐĞdžĞĐƵƚĞĚĂƵƚŽŵĂƟĐĂůůLJ͘
+DYHDJRKHUR²ÀQGLQJ6WDUWDQG8SGDWHLQWKH6FULSWLQJ5HIHUHQFH
^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ ^ƚĂƌƚ hƉĚĂƚĞƚŽůĞĂƌŶǁŚĞŶĞĂĐŚŵĞƚŚŽĚŝƐ
. - 9 ? A 9 . : 1 + @ 2 1 A E + . 9 @ C
ĐĂůůĞĚďLJhŶŝƚLJĂŶĚŚŽǁŽŌĞŶ͘
MonoBehaviour͘dŚŝƐǁŝůůƐŚŽǁLJŽƵƚŚĂƚƐŝŶĐĞŽƵƌƐĐƌŝƉƚŝŶŚĞƌŝƚƐĨƌŽŵ
> ? + ? A 9 . : 1 E + .
'
MonoBehaviour͕ǁĞĂƌĞĂďůĞƚŽƵƐĞƚŚĞStart() Update()
9 @ C F A 2 1 + C ? D
ĂŶĚĂŶŽƚŚĞƌ'ĂŵĞKďũĞĐƚΖƐŽŵƉŽŶĞŶƚƐƵƐŝŶŐŽƚ^LJŶƚĂdžŝƐĂǀŝƚĂůƉĂƌƚŽĨƐĐƌŝƉƟŶŐ͘/ƚΖƐ
ǁŚĂƚŵĂŬĞƐŝŶƚĞƌĂĐƟŽŶƉŽƐƐŝďůĞ͘tĞŶĞĞĚƚŽĐŽŵŵƵŶŝĐĂƚĞǁŝƚŚŽƚŚĞƌŽŵƉŽŶĞŶƚƐŽƌ
9 F A # = A : 2 ? 2 + = A 9 = > A 2 + < ? A 2 1 A B 9 . / 9 = > A ? 9 @ C F A 2 1 + C ? / @ + 2 1 A . * + F , + @ A @ 2 ? D
%
[ 29 ]
0
Å Æ ä Â 1 2 å 3 Å 4 Æ Á 5 2 3 À 1 3 Å 4 5 À Â å 6 Ç Ã Â ä 7 Å 3 Æ 8 9 å ä 3 Æ Ç
ŽŶΖƚĐŽŶĐĞƌŶLJŽƵƌƐĞůĨǁŝƚŚǁŚĂƚƚŚĞƉƌĞĐĞĚŝŶŐĐŽĚĞŵĞĂŶƐĂƐƚŚĂƚĐŽŵĞƐ
ůĂƚĞƌ͕/ũƵƐƚǁĂŶƚLJŽƵƚŽƐĞĞƚŚĞĚŽƚƐ͘
dŚĂƚΖƐĐĂůůĞĚƚŚĞŽƚ^LJŶƚĂdž͘dŚĞĨŽůůŽǁŝŶŐŝƐĂŶŽƚŚĞƌĞdžĂŵƉůĞ͘/ƚΖƐƚŚĞĮĐƟƟŽƵƐĂĚĚƌĞƐƐŽĨ
ŵLJŚŽƵƐĞ͗h^͘sĞƌŵŽŶƚ͘ƐƐĞdž͘ϮϮDLJ^ƚƌĞĞƚ
>ŽŽŬƐĨƵŶŶLJ͕ĚŽĞƐŶΖƚŝƚ͍dŚĂƚΖƐďĞĐĂƵƐĞ/ƵƐĞĚƚŚĞƐLJŶƚĂdž;ŐƌĂŵŵĂƌͿŽĨηŝŶƐƚĞĂĚŽĨƚŚĞƉŽƐƚ
ŽĸĐĞ͘,ŽǁĞǀĞƌ͕/ΖůůďĞƚŝĨLJŽƵůŽŽŬĐůŽƐĞůLJ͕LJŽƵĐĂŶĞĂƐŝůLJĮŐƵƌĞŽƵƚŚŽǁƚŽĮŶĚŵLJŚŽƵƐĞ͘
tĞΖůůŐĞƚŝŶƚŽŵƵĐŚŵŽƌĞŽƚ^LJŶƚĂdžĚĞƚĂŝůŝŶ
Þ ß à G à B
á í @ A
KďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ͘
3RSTXL]²NQRZLQJWKH&EXLOGLQJEORFNV
Yϭ͘tŚĂƚŝƐƚŚĞƉƵƌƉŽƐĞŽĨĂǀĂƌŝĂďůĞŝŶĂƐĐƌŝƉƚ͍
YϮ͘tŚĂƚŝƐƚŚĞƉƵƌƉŽƐĞŽĨĂŵĞƚŚŽĚŝŶĂƐĐƌŝƉƚ͍
Yϯ͘,ŽǁĚŽĞƐĂƐĐƌŝƉƚďĞĐŽŵĞĂŽŵƉŽŶĞŶƚ͍
Yϰ͘tŚĂƚŝƐƚŚĞƉƵƌƉŽƐĞŽĨŽƚ^LJŶƚĂdž͍
Summary
1 / ? : 1 9 , 2 A . / @ 2 . + C < : A C - + < 2 + 2 1 A = 9 ? / : : + @ : A , 2 ? + E B 9 . / 9 = > A ? G F A 2 1 + C ? G 9 @ C ¤ + 2 J - @ 2 9 ì D
dŚĞƐĞďƵŝůĚŝŶŐďůŽĐŬƐĂƌĞƵƐĞĚƚŽĐƌĞĂƚĞƐĐƌŝƉƚƐĂŶĚĐůĂƐƐĞƐ͘hŶĚĞƌƐƚĂŶĚŝŶŐŚŽǁƚŚĞƐĞ
ďƵŝůĚŝŶŐďůŽĐŬƐǁŽƌŬŝƐĐƌŝƟĐĂůƐŽLJŽƵĚŽŶΖƚĨĞĞůLJŽƵΖƌĞŶŽƚŐĞƫŶŐŝƚ͘
tĞĚŝƐĐŽǀĞƌĞĚƚŚĂƚĂǀĂƌŝĂďůĞŶĂŵĞŝƐĂƐƵďƐƟƚƵƚĞĨŽƌƚŚĞǀĂůƵĞŝƚƐƚŽƌĞƐ͖ĂŵĞƚŚŽĚŶĂŵĞŝƐĂ
ƐƵďƐƟƚƵƚĞĨŽƌĂďůŽĐŬŽĨĐŽĚĞ͖ǁŚĞŶĂƐĐƌŝƉƚŽƌĐůĂƐƐŝƐĂƩĂĐŚĞĚƚŽĂ'ĂŵĞKďũĞĐƚ͕ŝƚďĞĐŽŵĞƐ
9 * + F , + @ A @ 2 D 1 A ¤ + 2 J - @ 2 9 ì / ? < ? 2 > / ; A 9 @ 9 C C . A ? ? 2 + > + : 9 2 A 9 F A # = A : 2 ? 9 @ C * + F , + @ A @ 2 ? D
%
tŝƚŚƚŚĞƐĞĐŽŶĐĞƉƚƐƵŶĚĞƌLJŽƵƌďĞůƚ͕ǁĞĐĂŶƉƌŽĐĞĞĚƚŽůĞĂƌŶƚŚĞĚĞƚĂŝůƐŽĨƚŚĞƐĞŶƚĞŶĐĞ
ƐƚƌƵĐƚƵƌĞ͕ƚŚĞŐƌĂŵŵĂƌ͕ĂŶĚƚŚĞƐLJŶƚĂdžƵƐĞĚƚŽǁŽƌŬǁŝƚŚǀĂƌŝĂďůĞƐ͕ŵĞƚŚŽĚƐ͕ĂŶĚƚŚĞŽƚ
^LJŶƚĂdž͘/ŶƚŚĞŶĞdžƚĐŚĂƉƚĞƌǁĞǁŝůůůĞĂƌŶĂďŽƵƚƚŚĞĚĞƚĂŝůƐŽĨƵƐŝŶŐǀĂƌŝĂďůĞƐ͘
[ 30 ]
*HWWLQJLQWRWKH'HWDLOVRI9DULDEOHV
3
/ŶŝƚŝĂůůLJ͕ĐŽŵƉƵƚĞƌƉƌŽŐƌĂŵŵŝŶŐĂƉƉĞĂƌƐĚŝĨĨŝĐƵůƚƚŽďĞŐŝŶŶĞƌƐĚƵĞƚŽƚŚĞĨĂĐƚ
ŚŽǁǁŽƌĚƐĂƌĞƵƐĞĚŝŶĐŽĚĞ͘/ƚΖƐŶŽƚƚŚĞĂĐƚƵĂůǁŽƌĚƐƚŚĂƚĐĂƵƐĞƚŚĞƉƌŽďůĞŵ
ďĞĐĂƵƐĞ͕ĨŽƌƚŚĞŵŽƐƚƉĂƌƚ͕ŵĂŶLJŽĨƚŚĞǁŽƌĚƐĂƌĞƚŚĞƐĂŵĞǁŽƌĚƐƚŚĂƚǁĞƵƐĞ
ŝŶŽƵƌĞǀĞƌLJĚĂLJůŝĨĞ͘ηŝƐŶŽƚĂĨŽƌĞŝŐŶůĂŶŐƵĂŐĞ͘dŚĞŵĂŝŶƉƌŽďůĞŵŝƐƚŚĂƚƚŚĞ
ǁŽƌĚƐƐŝŵƉůLJĚŽŶΖƚƌĞĂĚůŝŬĞƚŚĞƚLJƉŝĐĂůƐĞŶƚĞŶĐĞƐǁĞĂƌĞĂůůƵƐĞĚƚŽ͘zŽƵŬŶŽǁ
ŚŽǁƚŽƐĂLJƚŚĞǁŽƌĚƐĂŶĚLJŽƵŬŶŽǁŚŽǁƚŽƐƉĞůůƚŚĞǁŽƌĚƐ͘tŚĂƚLJŽƵĚŽŶΖƚ
ŬŶŽǁŝƐǁŚĞƌĞĂŶĚǁŚLJLJŽƵŶĞĞĚƚŽƉƵƚƚŚĞŵŝŶƚŚĂƚĐƌĂnjLJůŽŽŬŝŶŐŐƌĂŵŵĂƌ͕
ƚŚĂƚŝƐ͕ƚŚĞƐLJŶƚĂdžƚŚĂƚŵĂŬĞƐƵƉĂηƐƚĂƚĞŵĞŶƚ͘
/ŶƚŚŝƐĐŚĂƉƚĞƌ͕ǁĞǁŝůůůĞĂƌŶƐŽŵĞŽĨƚŚĞďĂƐŝĐƌƵůĞƐĨŽƌǁƌŝƚŝŶŐĂηƐƚĂƚĞŵĞŶƚ͘
tĞǁŝůůĂůƐŽďĞŝŶƚƌŽĚƵĐĞĚƚŽŵĂŶLJŽĨƚŚĞǁŽƌĚƐƚŚĂƚηƵƐĞƐĂŶĚƚŚĞƉƌŽƉĞƌ
ƉůĂĐĞŵĞŶƚŽĨƚŚĞƐĞǁŽƌĚƐŝŶƚŚĞηƐƚĂƚĞŵĞŶƚƐǁŚĞŶǁĞĐƌĞĂƚĞŽƵƌǀĂƌŝĂďůĞƐ͘
/ŶƚŚŝƐĐŚĂƉƚĞƌǁĞǁŝůůĐŽǀĞƌƚŚĞĨŽůůŽǁŝŶŐƚŽƉŝĐƐ͗
tƌŝƟŶŐηƐƚĂƚĞŵĞŶƚƐƉƌŽƉĞƌůLJ
hƐŝŶŐηƐLJŶƚĂdžƚŽǁƌŝƚĞǀĂƌŝĂďůĞƐƚĂƚĞŵĞŶƚƐ
dŚĞ'ĂŵĞKďũĞĐƚŽŵƉŽŶĞŶƚΖƐƉƌŽƉĞƌƟĞƐ
? / @ 0 , < = > / : B 9 . / 9 = > A ? E + . 2 1 A @ / 2 - @ ? , A : 2 + . , 9 @ A >
) ) !
9 F / @ 0 9 B 9 . / 9 = > A , . + , A . > -
$
ĞĐůĂƌŝŶŐĂǀĂƌŝĂďůĞĨŽƌƚŚĞƚLJƉĞŽĨĚĂƚĂŝƚǁŝůůƐƚŽƌĞ
KŬ͕ůĞƚΖƐůĞĂƌŶƐŽŵĞƉƌŽŐƌĂŵŵŝŶŐŐƌĂŵŵĂƌ͕ŽƚŚĞƌǁŝƐĞŬŶŽǁŶĂƐηƐLJŶƚĂdž͘
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ
A @ C 2 1 A ? 2 9 2 A F A @ 2 D
dŚĞƌĞĂƐŽŶĂƐƚĂƚĞŵĞŶƚĞŶĚƐǁŝƚŚĂƐĞŵŝͲĐŽůŽŶŝƐƐŽƚŚĂƚhŶŝƚLJŬŶŽǁƐ
ǁŚĞŶƚŚĞƐƚĂƚĞŵĞŶƚĞŶĚƐ͘ƉĞƌŝŽĚĐĂŶΖƚďĞƵƐĞĚďĞĐĂƵƐĞƚŚĞLJĂƌĞƵƐĞĚŝŶ
C D ü ú
dŚĞĐŽĚĞĨŽƌĂηƐƚĂƚĞŵĞŶƚĚŽĞƐŶŽƚŚĂǀĞƚŽďĞŽŶĂƐŝŶŐůĞůŝŶĞĂƐƐŚŽǁŶŝŶƚŚĞ
ĨŽůůŽǁŝŶŐĞdžĂŵƉůĞ͗
public int number1 = 2;
1 A ? 2 9 2 A F A @ 2 : 9 @ = A + @ ? A B A . 9 > > / @ A ? D 1 / 2 A ? , 9 : A 9 @ C : 9 . . / 9 0 A . A 2 < . @ ? 9 . A / 0 @ + . A C G ? + / E
LJŽƵƌĞĂůůLJǁĂŶƚƚŽ͕LJŽƵĐĂŶǁƌŝƚĞŝƚĂƐĨŽůůŽǁƐ͗
public
int
number1
=
2;
Ƶƚ/ƌĞĐŽŵŵĞŶĚLJŽƵƚŽŶŽƚǁƌŝƚĞLJŽƵƌĐŽĚĞůŝŬĞƚŚŝƐďĞĐĂƵƐĞŝƚΖƐƚĞƌƌŝďůĞƌĞĂĚŝŶŐĐŽĚĞ
ĨŽƌŵĂƩĞĚůŝŬĞƚŚĞƉƌĞĐĞĚŝŶŐĐŽĚĞ͘,ŽǁĞǀĞƌ͕ƚŚĞƌĞǁŝůůďĞƟŵĞƐƚŚĂƚLJŽƵΖůůŚĂǀĞƚŽǁƌŝƚĞ
ůŽŶŐƐƚĂƚĞŵĞŶƚƐƚŚĂƚǁŝůůďĞůŽŶŐĞƌƚŚĂŶŽŶĞůŝŶĞ͘hŶŝƚLJǁŽŶΖƚĐĂƌĞ͘/ƚũƵƐƚŶĞĞĚƐƚŽƐĞĞƚŚĞ
? A F / : + > + @ 9 2 2 1 A A @ C D
(
DĂŝŶĂŵĞƌĂ ĂŵĞƌĂ
? A > A : 2 9 @ C > + + ; 9 2 2 1 A , 9 @ A > D # @ A + E 2 1 A * + F , + @ A @ 2 ? / ? 2 1 A D
tŝƚŚŽƵƚƚŚĂƚŽŵƉŽŶĞŶƚ͕ŝƚǁŝůůĐĞĂƐĞďĞŝŶŐĂĐĂŵĞƌĂ͘/ƚǁŽƵůĚƐƟůůďĞĂ'ĂŵĞKďũĞĐƚŝŶLJŽƵƌ
ƐĐĞŶĞ͕ũƵƐƚŶŽůŽŶŐĞƌĂĨƵŶĐƟŽŶŝŶŐĐĂŵĞƌĂ͘
[ 32 ]
Ä ¾ Æ Á ä E
9DULDEOHVEHFRPH&RPSRQHQWSURSHUWLHV
ĂŶLJ'ĂŵĞKďũĞĐƚŝƐũƵƐƚĂƐĐƌŝƉƚƚŚĂƚĚĞĮŶĞƐĂĐůĂƐƐ͕ǁŚĞƚŚĞƌLJŽƵǁƌŽƚĞ
@ - * + F , + @ A @ 2 + E
'
ƚŚĞƐĐƌŝƉƚŽƌƚŚĞhŶŝƚLJΖƐƉƌŽŐƌĂŵŵĞƌĚŝĚ͘tĞũƵƐƚĂƌĞŶΖƚƐƵƉƉŽƐĞĚƚŽĞĚŝƚƚŚĞƐĐƌŝƉƚƐƚŚĂƚ
hŶŝƚLJǁƌŽƚĞ͘dŚŝƐŵĞĂŶƐƚŚĂƚĂůůƚŚĞƉƌŽƉĞƌƟĞƐǁĞƐĞĞŝŶ
9 . A < ? 2 B 9 . / 9 = > A ? + E
ƐŽŵĞƚLJƉĞ͘dŚĞLJƐŝŵƉůLJƐƚŽƌĞĚĂƚĂƚŚĂƚǁŝůůďĞƵƐĞĚďLJƐŽŵĞŵĞƚŚŽĚƐ͘
ŽŵƉŽŶĞŶƚ͘hŶŝƚLJŵĂŬĞƐĂĐŽƵƉůĞŽĨƐŵĂůůĐŚĂŶŐĞƐ͘zŽƵŵŝŐŚƚŚĂǀĞŶŽƟĐĞĚ
, 9 @ A > 9 ? 9
ƚŚĂƚǁŚĞŶǁĞĂĚĚĞĚLearningScript DĂŝŶĂŵĞƌĂ͕hŶŝƚLJĂĐƚƵĂůůLJƐŚŽǁĞĚŝƚŝŶƚŚĞ
2 +
>ĞĂƌŶŝŶŐ^ĐƌŝƉƚ͘hŶŝƚLJĂĚĚĞĚĂƐƉĂĐĞƚŽƐĞƉĂƌĂƚĞƚŚĞǁŽƌĚƐŽĨƚŚĞŶĂŵĞ͘
, 9 @ A > 9 ?
hŶŝƚLJĚŽĞƐƚŚŝƐŵŽĚŝĮĐĂƟŽŶƚŽƚŚĞǀĂƌŝĂďůĞŶĂŵĞƐ͕ƚŽŽ͘EŽƟĐĞƚŚĂƚƚŚĞǀĂƌŝĂďůĞnumber1
ŝƐƐŚŽǁŶĂƐEƵŵďĞƌϭ number2 EƵŵďĞƌϮ͘hŶŝƚLJĐĂƉŝƚĂůŝnjĞƐƚŚĞĮƌƐƚůĞƩĞƌĂƐǁĞůů͘
G 9 @ C 9 ?
1 A ? A C / ? , > 9 - A C : 1 9 @ 0 A ? / F , . + B A . A 9 C 9 = / > / 2 - / @ D
WůĂLJ
¤ < . / @ 0 2 1 A F + C A
ƵƌŝŶŐƚŚĞĚĞǀĞůŽƉŵĞŶƚŵŽĚĞ;ŶŽƚŝŶƚŚĞWůĂLJ
N
F + C A
WůĂLJŵŽĚĞ͕LJŽƵǁŝůůƐĞĞƚŚĂƚLJŽƵƌĐŚĂŶŐĞƐƚĂŬĞĞīĞĐƚŝŵŵĞĚŝĂƚĞůLJŝŶ
1 A @ - + < 9 . A / @ 2 1 A
ƌĞĂůƟŵĞ͘dŚŝƐŝƐŐƌĞĂƚǁŚĞŶLJŽƵΖƌĞĞdžƉĞƌŝŵĞŶƟŶŐĂŶĚǁĂŶƚƚŽƐĞĞƚŚĞƌĞƐƵůƚƐ͘
WůĂLJŵŽĚĞ͕LJŽƵǁŝůůƐĞĞƚŚĂƚLJŽƵƌĐŚĂŶŐĞƐƚĂŬĞĞīĞĐƚ
ù ü ú û ý ü
ŝŵŵĞĚŝĂƚĞůLJŝŶƌĞĂůƟŵĞ͘dŚŝƐŝƐŐƌĞĂƚǁŚĞŶLJŽƵΖƌĞĞdžƉĞƌŝŵĞŶƟŶŐĂŶĚǁĂŶƚ
ƚŽƐĞĞƚŚĞƌĞƐƵůƚƐ͘tƌŝƚĞĚŽǁŶĂŶLJĐŚĂŶŐĞƐLJŽƵǁĂŶƚƚŽŬĞĞƉďĞĐĂƵƐĞǁŚĞŶ
WůĂLJŵŽĚĞ͕ĂŶLJĐŚĂŶŐĞƐLJŽƵŵĂĚĞǁŝůůďĞůŽƐƚ͘
ÿ
tŚĞŶLJŽƵĂƌĞŝŶƚŚĞĚĞǀĞůŽƉŵĞŶƚŵŽĚĞ͕ĐŚĂŶŐĞƐLJŽƵŵĂŬĞƚŽƚŚĞƉƌŽƉĞƌƚLJǀĂůƵĞƐǁŝůůďĞ
ƐĂǀĞĚďLJhŶŝƚLJ͘dŚŝƐŵĞĂŶƐƚŚĂƚŝĨLJŽƵƋƵŝƚhŶŝƚLJĂŶĚƌĞƐƚĂƌƚŝƚĂŐĂŝŶ͕ƚŚĞĐŚĂŶŐĞƐǁŝůůďĞ
ƌĞƚĂŝŶĞĚ͘KĨĐŽƵƌƐĞLJŽƵǁŽŶΖƚƐĞĞƚŚĞĞīĞĐƚŽĨLJŽƵƌĐŚĂŶŐĞƵŶƟůLJŽƵĐůŝĐŬŽŶWůĂLJ
D
ú ü þ ÿ ú û û ? ú ÿ ý ü F G H I J K L M N ú ü
ŶŽƚŵŽĚŝĨLJLJŽƵƌƐĐƌŝƉƚ͘dŚĞŽŶůLJǁĂLJLJŽƵƌƐĐƌŝƉƚĐĂŶďĞĐŚĂŶŐĞĚŝƐĨŽƌ
LJŽƵƚŽĞĚŝƚŝƚŝŶƚŚĞƐĐƌŝƉƚĞĚŝƚŽƌ;DŽŶŽĞǀĞůŽƉͿ͘dŚĞǀĂůƵĞƐƐŚŽǁŶŝŶƚŚĞ
F G H I J K L M N ú ü ? û û ý ú ü ? ú ÿ ú ú ÿ ÿ ý þ ü ý ü û ÿ
û ý
[ 33 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ
/ĨLJŽƵĚĞƐŝƌĞƚŽƵŶĚŽƚŚĞĐŚĂŶŐĞƐLJŽƵΖǀĞŵĂĚĞŝŶƚŚĞ
, 9 @ A > G - + < : 9 @ . A ? A 2 2 1 A B 9 > < A ?
ƚŽƚŚĞĚĞĨĂƵůƚǀĂůƵĞƐĂƐƐŝŐŶĞĚŝŶLJŽƵƌƐĐƌŝƉƚ͘ůŝĐŬŽŶƚŚĞŽŐŝĐŽŶ;ƚŚĞŐĞĂƌͿŽŶƚŚĞĨĂƌƌŝŐŚƚŽĨ
ĂƐƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͗
2 1 A * + F , + @ A @ 2 ? : . / , 2 G 9 @ C 2 1 A @ ? A > A : 2
$
9 B 9 . / 9 = > A ? 2 9 2 A F A @ 2 I
ǀĂƌŝĂďůĞǁŝůůďĞǀŝƐŝďůĞĂŶĚĂĐĐĞƐƐŝďůĞ͘/ƚǁŝůůďĞǀŝƐŝďůĞĂƐĂƉƌŽƉĞƌƚLJŝŶƚŚĞ
2 F A 9 @ ? 2 1 9 2 2 1 A
!
ŝƚĐĂŶďĞĂĐĐĞƐƐĞĚĨƌŽŵŽƚŚĞƌƐĐƌŝƉƚƐƵƐŝŶŐƚŚĞŽƚ^LJŶƚĂdž͘zŽƵΖůůůĞĂƌŶŵŽƌĞĂďŽƵƚƚŚĞŽƚ
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
J - @ 2 9 ì / @ Þ ß à G D
á í
7LPHIRUDFWLRQ²PDNLQJDYDULDEOHSULYDWH
public͘/ĨƚŚĞƌĞΖƐŶŽŶĞĞĚĨŽƌĂǀĂƌŝĂďůĞƚŽďĞĐŚĂŶŐĞĚŝŶ
+ 2 9 > > B 9 . / 9 = > A ? @ A A C 2 + = A
$
ƉĂŶĞůŶŽƌďĞĂĐĐĞƐƐĞĚĨƌŽŵŽƚŚĞƌƐĐƌŝƉƚƐ͕ŝƚĚŽĞƐŶΖƚŵĂŬĞƐĞŶƐĞƚŽĐůƵƩĞƌƚŚĞ
2 1 A
ƉĂŶĞůǁŝƚŚŶĞĞĚůĞƐƐƉƌŽƉĞƌƟĞƐ͘/ŶLearningScript͕ƉĞƌĨŽƌŵƚŚĞĨŽůůŽǁŝŶŐƐƚĞƉƐ͗
ŚĂŶŐĞůŝŶĞϲƚŽƚŚĞĨŽůůŽǁŝŶŐ͗
ó ô
[ 34 ]
Ä ¾ Æ Á ä E
ŚĂŶŐĞůŝŶĞϳƚŽƚŚĞĨŽůůŽǁŝŶŐ͗
õ ô
int number2 = 9;
^ĂǀĞƚŚĞĮůĞ͘
ö ô
DĂŝŶĂŵĞƌĂ
ô
.
@ @ / 2 - G ? A > A : 2 D
! )
9 . A 0 + @ A D
ƉĂŶĞů͘/ƚŝƐŶŽǁĂ
2 1 A . A E + . A 2 1 A B 9 . / 9 = > A / ? @ + > + @ 0 A . 9 , . + , A . 2 - / @ 2 1 A
, . / B 9 2 A B 9 . / 9 = > A 2 + ? 2 + . A C 9 2 9 D
>ŝŶĞϳ͗int number2 = 9;
number2ǀĂƌŝĂďůĞŝƐŶŽůŽŶŐĞƌǀŝƐŝďůĞĂƐĂƉƌŽƉĞƌƚLJĞŝƚŚĞƌ͕ďƵƚLJŽƵĚŝĚŶΖƚ
1 A
private
? , A : / E - / 2 9 ? D
/ĨLJŽƵĚŽŶΖƚĞdžƉůŝĐŝƚůLJƐƚĂƚĞǁŚĞƚŚĞƌĂǀĂƌŝĂďůĞǁŝůůďĞpublic private
+ . G = - C A E 9 < > 2 G
ƚŚĞǀĂƌŝĂďůĞǁŝůůŝŵƉůŝĐŝƚůLJďĞprivate
D
/ƚŝƐŐŽŽĚĐŽĚŝŶŐƉƌĂĐƟĐĞƚŽĞdžƉůŝĐŝƚůLJƐƚĂƚĞǁŚĞƚŚĞƌĂǀĂƌŝĂďůĞǁŝůů
public private
û
^ŽŶŽǁǁŚĞŶLJŽƵĐůŝĐŬŽŶWůĂLJ͕ƚŚĞƐĐƌŝƉƚǁŽƌŬƐĞdžĂĐƚůLJĂƐŝƚĚŝĚďĞĨŽƌĞ͘zŽƵũƵƐƚĐĂŶΖƚ
F 9 @ / , < > 9 2 A 2 1 A B 9 > < A ? F 9 @ < 9 > > - / @ 2 1 A , 9 @ A > 9 @ - F + . A D
dŚĂƚΖƐĂĚĞƐĐƌŝƉƟǀĞŶĂŵĞ͘/ŶŽƚŚĞƌǁŽƌĚƐ͕LJŽƵŬŶŽǁǁŚĂƚŝƚŵĞĂŶƐďLJũƵƐƚƌĞĂĚŝŶŐƚŚĞ
ǀĂƌŝĂďůĞ͕ĂŶĚƐŽƚĞŶLJĞĂƌƐĨƌŽŵŶŽǁǁŚĞŶLJŽƵůŽŽŬĂƚƚŚĂƚŶĂŵĞ͕LJŽƵΖůůŬŶŽǁĞdžĂĐƚůLJ
ǁŚĂƚŝƚŵĞĂŶƐ͘EŽǁƐƵƉƉŽƐĞŝŶƐƚĞĂĚŽĨtheBearMakesBigPottyInTheWoods
G 1 9 C
!
ŶĂŵĞĚƚŚŝƐǀĂƌŝĂďůĞĂƐƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐĐŽĚĞ͗
public bool potty = true;
[ 35 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ
^ƵƌĞ͕LJŽƵŬŶŽǁǁŚĂƚpottyŝƐ͕ďƵƚǁŽƵůĚLJŽƵŬŶŽǁƚŚĂƚŝƚƌĞĨĞƌƌĞĚƚŽĂďĞĂƌŵĂŬŝŶŐĂďŝŐ
ƉŽƩLJŝŶƚŚĞǁŽŽĚƐ͍/ŬŶŽǁƌŝŐŚƚŶŽǁLJŽƵΖůůƵŶĚĞƌƐƚĂŶĚŝƚďĞĐĂƵƐĞLJŽƵũƵƐƚǁƌŽƚĞŝƚ͕ďƵƚ
ƐŝdžŵŽŶƚŚƐĚŽǁŶƚŚĞůŝŶĞ͕ĂŌĞƌǁƌŝƟŶŐŚƵŶĚƌĞĚƐŽĨŽƚŚĞƌƐĐƌŝƉƚƐĨŽƌĂůůƐŽƌƚƐŽĨĚŝīĞƌĞŶƚ
ƉƌŽũĞĐƚƐ͕LJŽƵΖůůůŽŽŬĂƚƚŚĂƚĂŶĚǁŽŶĚĞƌǁŚĂƚpottyŵĞĂŶƚ͘zŽƵΖůůŚĂǀĞƚŽƌĞĂĚƐĞǀĞƌĂůůŝŶĞƐ
ŽĨĐŽĚĞLJŽƵǁƌŽƚĞƚŽƚƌLJƚŽĮŐƵƌĞŝƚŽƵƚ͘
zŽƵŵĂLJůŽŽŬĂƚƚŚĞĐŽĚĞĂŶĚǁŽŶĚĞƌǁŚŽŝŶƚŚĞŝƌƌŝŐŚƚŵŝŶĚǁŽƵůĚǁƌŝƚĞƐƵĐŚĂƚĞƌƌŝďůĞ
ĐŽĚĞ͘^ŽƚĂŬĞƚŚĞƟŵĞƚŽǁƌŝƚĞĂĚĞƐĐƌŝƉƟǀĞĐŽĚĞƚŚĂƚĞǀĞŶĂƐƚƌĂŶŐĞƌĐĂŶůŽŽŬĂƚĂŶĚŬŶŽǁ
ǁŚĂƚLJŽƵŵĞĂŶ͘ĞůŝĞǀĞŵĞ͕ŝŶƐŝdžŵŽŶƚŚƐŽƌƉƌŽďĂďůLJůĞƐƐ͕LJŽƵǁŝůůďĞƚŚĂƚƐƚƌĂŶŐĞƌ͘
transform
/ ? 9 B 9 . / 9 = > A D
dŚĞƌĞĂƌĞŽĨĐŽƵƌƐĞĞdžĐĞƉƟŽŶƐƚŽƚŚŝƐŐĞŶĞƌĂůƌƵůĞ͕ĂŶĚĞǀĞƌLJƉƌŽŐƌĂŵŵĞƌŚĂƐĂƉƌĞĨĞƌƌĞĚ
ǁĂLJƚŽƵƐĞůŽǁĞƌĐĂƐĞ͕ƵƉƉĞƌĐĂƐĞ͕ĂŶĚƉĞƌŚĂƉƐĂŶƵŶĚĞƌƐĐŽƌĞƚŽďĞŐŝŶĂǀĂƌŝĂďůĞŶĂŵĞ͘ƚ
ƚŚĞĞŶĚ͕LJŽƵǁŝůůŚĂǀĞƚŽĚĞĐŝĚĞƵƉŽŶĂŶĂŵŝŶŐĐŽŶǀĞŶƟŽŶLJŽƵůŝŬĞ͘/ĨLJŽƵƌĞĂĚƚŚĞhŶŝƚLJ
ĨŽƌƵŵƐ͕ƚŚĞƌĞĂƌĞƐŽŵĞŚĞĂƚĞĚĚĞďĂƚĞƐŽŶŶĂŵŝŶŐǀĂƌŝĂďůĞƐ͘/ŶƚŚŝƐŬ͕/ǁŝůůƐŚŽǁLJŽƵ
ŵLJƉƌĞĨĞƌƌĞĚǁĂLJ͕ďƵƚLJŽƵĐĂŶƵƐĞǁŚĂƚĞǀĞƌŝƐŵŽƌĞĐŽŵĨŽƌƚĂďůĞĨŽƌLJŽƵ͘
zŽƵĐĂŶƐĞĞƚŚĂƚƚŚĞǀĂƌŝĂďůĞŶĂŵĞŝƐĂĐƚƵĂůůLJĞŝŐŚƚǁŽƌĚƐƐƋƵŝƐŚĞĚƚŽŐĞƚŚĞƌ͘^ŝŶĐĞǀĂƌŝĂďůĞ
ŶĂŵĞƐĐĂŶďĞŽŶůLJŽŶĞǁŽƌĚ͕ďĞŐŝŶƚŚĞĮƌƐƚǁŽƌĚǁŝƚŚĂůŽǁĞƌĐĂƐĞ͕ĂŶĚƚŚĞŶũƵƐƚĐĂƉŝƚĂůŝnjĞ
ƚŚĞĮƌƐƚůĞƩĞƌŽĨĞĂĐŚĂĚĚŝƟŽŶĂůǁŽƌĚ͘/ƚŐƌĞĂƚůLJŚĞůƉƐƚŽĐƌĞĂƚĞĚĞƐĐƌŝƉƟǀĞŶĂŵĞƐĂŶĚƐƟůů
ďĞŝŶŐĂďůĞƚŽƌĞĂĚŝƚ͘dŚĞƌĞΖƐĂǁŽƌĚĨŽƌƚŚŝƐĐĂůůĞĚĐĂŵĞůĂƐŝŶŐ
D
+DYHDJRKHUR²YLHZLQJPXOWLZRUGYDULDEOHVLQWKH,QVSHFWRUSDQHO
/ĂůƌĞĂĚLJŵĞŶƟŽŶĞĚƚŚĂƚĨŽƌpublicǀĂƌŝĂďůĞƐ͕hŶŝƚLJΖƐ ǁŝůůƐĞƉĂƌĂƚĞĞĂĐŚǁŽƌĚ
ĂŶĚĐĂƉŝƚĂůŝnjĞƚŚĞĮƌƐƚǁŽƌĚ͘'ŽĂŚĞĂĚ͕ĂĚĚƚŚĞƉƌĞǀŝŽƵƐƐƚĂƚĞŵĞŶƚƚŽLearningScript
ĂŶĚƐĞĞǁŚĂƚhŶŝƚLJĚŽĞƐǁŝƚŚŝƚŝŶƚŚĞ
, 9 @ A > D
[ 36 ]
Ä ¾ Æ Á ä E
ŵĞĂŶ͍tĞůů͕ďĞĨŽƌĞhŶŝƚLJĐĂŶƵƐĞĂǀĂƌŝĂďůĞ͖ǁĞŚĂǀĞƚŽƚĞůůhŶŝƚLJĂďŽƵƚŝƚĮƌƐƚ͘KŬƚŚĞŶ͕
ǁŚĂƚĂƌĞǁĞƐƵƉƉŽƐĞĚƚŽƚĞůůhŶŝƚLJĂďŽƵƚƚŚĞǀĂƌŝĂďůĞ͍
dŚĞƌĞĂƌĞŽŶůLJƚŚƌĞĞĂďƐŽůƵƚĞƌĞƋƵŝƌĞŵĞŶƚƐĨŽƌĚĞĐůĂƌŝŶŐĂǀĂƌŝĂďůĞĂŶĚƚŚĞLJĂƌĞĂƐĨŽůůŽǁƐ͗
A 1 9 B A 2 + ? , A : / E - 2 1 A 2 - , A + E C 9 2 9 9 B 9 . / 9 = > A : 9 @ ? 2 + . A
A 1 9 B A 2 + , . + B / C A 9 @ 9 F A E + . 2 1 A B 9 . / 9 = > A
tĞŚĂǀĞƚŽĞŶĚƚŚĞĚĞĐůĂƌĂƟŽŶƐƚĂƚĞŵĞŶƚǁŝƚŚĂƐĞŵŝͲĐŽůŽŶ
dŚĞĨŽůůŽǁŝŶŐŝƐƚŚĞƐLJŶƚĂdžǁĞƵƐĞĨŽƌĚĞĐůĂƌŝŶŐĂǀĂƌŝĂďůĞ͗
typeOfData nameOfTheVariable;
>ĞƚΖƐƵƐĞŽŶĞŽĨƚŚĞLearningScriptǀĂƌŝĂďůĞƐĂƐĂŶĞdžĂŵƉůĞ͖ƚŚĞĨŽůůŽǁŝŶŐŝƐŚŽǁƚŽ
ĚĞĐůĂƌĞĂǀĂƌŝĂďůĞǁŝƚŚƚŚĞďĂƌĞŵŝŶŝŵƵŵƌĞƋƵŝƌĞŵĞŶƚƐ͗
int number1;
dŚĞĨŽůůŽǁŝŶŐŝƐǁŚĂƚǁĞŚĂǀĞ͗
ZĞƋƵŝƌĞŵĞŶƚηϭ number1ĐĂŶƐƚŽƌĞ͕ǁŚŝĐŚŝŶƚŚŝƐĐĂƐĞŝƐĂŶ
/ ? 2 1 A 2 - , A + E C 9 2 9 2 1 9 2
int
G F A 9 @ / @ 0 9 @ / @ 2 A 0 A .
ZĞƋƵŝƌĞŵĞŶƚηϮŝƐĂŶĂŵĞǁŚŝĐŚŝƐnumber1
ZĞƋƵŝƌĞŵĞŶƚηϯ
/ ? 2 1 A ? A F / : + > + @ 9 2 2 1 A A @ C
(
ƌĞƋƵŝƌĞŵĞŶƚŽĨĞŶĚŝŶŐĂƐƚĂƚĞŵĞŶƚǁŝƚŚĂƐĞŵŝͲĐŽůŽŶŚĂƐďĞĞŶĚŝƐĐƵƐƐĞĚ͘dŚĞĮƌƐƚ
ƌĞƋƵŝƌĞŵĞŶƚŽĨƐƉĞĐŝĨLJŝŶŐƚŚĞƚLJƉĞŽĨĚĂƚĂǁŝůůďĞĐŽǀĞƌĞĚŶĞdžƚ͘
dŚĞĨŽůůŽǁŝŶŐŝƐǁŚĂƚǁĞŬŶŽǁĂďŽƵƚƚŚŝƐďĂƌĞŵŝŶŝŵƵŵĚĞĐůĂƌĂƟŽŶĂƐĨĂƌĂƐhŶŝƚLJ
/ ? : + @ : A . @ A C I
dŚĞƌĞΖƐŶŽpublicŵŽĚŝĮĞƌǁŚŝĐŚŵĞĂŶƐŝƚΖƐprivate
= - C A E 9 < > 2
/ƚǁŽŶΖƚĂƉƉĞĂƌŝŶƚŚĞ
, 9 @ A > G + . = A 9 : : A ? ? / = > A E . + F + 2 1 A . ? : . / , 2 ?
number1ĚĞĨĂƵůƚƐƚŽnjĞƌŽ
1 A B 9 > < A ? 2 + . A C / @
[ 37 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ
ǁŝůůĐƌĞĂƚĞůĂƚĞƌǁŝůůďĞĚŝƐĐƵƐƐĞĚŝŶ ƌĞĂƟŶŐƚŚĞ'ĂŵĞƉůĂLJŝƐ:ƵƐƚĂWĂƌƚŽĨƚŚĞ
Þ ß à G
á î
P à Q / @ 2 1 A C / ? : < ? ? / + @ + E ¤ + 2 J - @ 2 9 ì D
dŚĞĨŽůůŽǁŝŶŐĐŚĂƌƚƐŚŽǁƐƚŚĞŵŽƐƚĐŽŵŵŽŶďƵŝůƚͲŝŶƚLJƉĞƐŽĨĚĂƚĂLJŽƵǁŝůůƵƐĞŝŶhŶŝƚLJ͗
ĂƌĞĨĞǁŵŽƌĞďƵŝůƚͲŝŶƚLJƉĞƐŽĨĚĂƚĂƚŚĂƚĂƌĞŶΖƚƐŚŽǁŶŝŶƚŚĞƉƌĞĐĞĚŝŶŐ
û
ĐŚĂƌƚ͘,ŽǁĞǀĞƌ͕ŽŶĐĞLJŽƵƵŶĚĞƌƐƚĂŶĚƚŚĞŵŽƐƚĐŽŵŵŽŶƚLJƉĞƐ͕LJŽƵΖůůŚĂǀĞŶŽ
û ý ü þ û ý R ý ü ÿ ý ? û ü ÿ
tĞŬŶŽǁƚŚĞŵŝŶŝŵƵŵƌĞƋƵŝƌĞŵĞŶƚƐƚŽĚĞĐůĂƌĞĂǀĂƌŝĂďůĞ͘,ŽǁĞǀĞƌ͕ǁĞĐĂŶĂĚĚŵŽƌĞ
ŝŶĨŽƌŵĂƟŽŶƚŽĂĚĞĐůĂƌĂƟŽŶƚŽƐĂǀĞŽƵƌƟŵĞĂŶĚĐŽĚŝŶŐ͘tĞΖǀĞĂůƌĞĂĚLJƐĞĞŶƐŽŵĞĞdžĂŵƉůĞƐ
LearningScriptŽĨĂƐƐŝŐŶŝŶŐǀĂůƵĞƐǁŚĞŶƚŚĞǀĂƌŝĂďůĞŝƐďĞŝŶŐĚĞĐůĂƌĞĚĂŶĚŶŽǁǁĞΖůů
/ @
ƐĞĞĨĞǁŵŽƌĞĞdžĂŵƉůĞƐ͘
7LPHIRUDFWLRQ²DVVLJQLQJYDOXHVZKLOHGHFODULQJWKHYDULDEOH
LearningScriptƵƐŝŶŐƚŚĞƚLJƉĞƐƐŚŽǁŶŝŶƚŚĞƉƌĞǀŝŽƵƐĐŚĂƌƚ͘
C C ? + F A F + . A B 9 . / 9 = > A ? 2 +
'
tŚŝůĞĚĞĐůĂƌŝŶŐƚŚĞǀĂƌŝĂďůĞƐ͕ĂƐƐŝŐŶƚŚĞŵǀĂůƵĞƐĂƐƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͘^ĞĞ
ŚŽǁƚŚĞLJĂƌĞƉƌĞƐĞŶƚĞĚŝŶƚŚĞ publicǀĂƌŝĂďůĞƐƐŽƚŚĞLJǁŝůů
, 9 @ A > D 1 A ? A 9 . A 9 > >
9 , , A 9 . / @ 2 1 A , 9 @ A > I
[ 38 ]
Ä ¾ Æ Á ä E
ƉĂŶĞůǁŝƚŚƚŚĞǀĂůƵĞƐĂůƌĞĂĚLJƐĞƚ͘
1 A B 9 . / 9 = > A ? 9 . A C / ? , > 9 - A C / @ 2 1 A
ƐŚŽǁŶLJŽƵƐŽĨĂƌĂƌĞĐĂůůĞĚŵĞŵďĞƌǀĂƌŝĂďůĞƐ LearningScript
D 1 A - 9 . A F A F = A . ? + E 2 1 A
ĐůĂƐƐ͕ŶŽƚĚĞĐůĂƌĞĚǁŝƚŚŝŶĂŶLJŵĞƚŚŽĚ͘dŚĞƐĞŵĞŵďĞƌǀĂƌŝĂďůĞƐĂƌĞƚŚĞŽŶůLJǀĂƌŝĂďůĞƐƚŚĂƚ
ŚĂǀĞƚŚĞŽƉƟŽŶŽĨďĞŝŶŐĚŝƐƉůĂLJĞĚŝŶƚŚĞ
, 9 @ A > + . = A / @ 0 9 : : A ? ? A C = - + 2 1 A . ? : . / , 2 ? D
^ŽǁŚĞƌĞŝŶƚŚĞĐůĂƐƐƐŚŽƵůĚƚŚĞŵĞŵďĞƌǀĂƌŝĂďůĞƐďĞĚĞĐůĂƌĞĚ͍dŚŝƐŝƐĂŶŽƚŚĞƌƐƵďũĞĐƚƚŚĂƚ
ŚĞĂƚĞĚĚŝƐĐƵƐƐŝŽŶƐ͘WĞƌƐŽŶĂůůLJ͕/ĚĞĐůĂƌĞƚŚĞŵĂƚƚŚĞƚŽƉŽĨĂĐůĂƐƐĮůĞďĞĨŽƌĞ
: 9 @ > A 9 C 2 +
ǀĂƌŝĂďůĞƐĐůŽƐĞƚŽƚŚĞƉŽŝŶƚŽĨĮƌƐƚƵƐĞŝŶĂŵĞƚŚŽĚ͘
[ 39 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ
C ú û ý ü þ û û ? ú û ý ú ÿ ú þ ý ü ü ý ü þ ú ú ÿ ÿ ú
þ ý ? ú ü ú ú ÿ û ? ú û ý ú ÿ ú ü ÿ
ĞǀĞƌLJǁŚĞƌĞŝŶƚŚĞƐĐƌŝƉƚ͘
tĞǁŝůůĂůƐŽďĞĐƌĞĂƟŶŐǀĂƌŝĂďůĞƐŝŶŵĞƚŚŽĚƐ͘dŚĞƐĞǀĂƌŝĂďůĞƐĂƌĞĐĂůůĞĚĂƐůŽĐĂůǀĂƌŝĂďůĞƐ
ĂŶĚĂƌĞŶĞǀĞƌĚŝƐƉůĂLJĞĚŝŶƚŚĞhŶŝƚLJΖƐ
, 9 @ A > G @ + . : 9 @ 2 1 A - = A 9 : : A ? ? A C = - + 2 1 A .
ǀĂƌŝĂďůĞƐĐŽƉĞ
? : . / , 2 ? D 1 / ? = . / @ 0 ? < ? 2 + 9 @ + 2 1 A . , . + 0 . 9 F F / @ 0 : + @ : A , 2 : 9 > > A C D
9DULDEOHVFRSH²GHWHUPLQLQJZKHUHDYDULDEOHFDQEHXVHG
sĂƌŝĂďůĞƐĐŽƉĞŝƐĂĨĂŶĐLJǁĂLJŽĨƐĂLJŝŶŐΗtŚĞƌĞŝŶƚŚĞƐĐƌŝƉƚĚŽĞƐĂǀĂƌŝĂďůĞĞdžŝƐƚΗ͘dŚĞ
ĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚĞdžƉůĂŝŶƐLJŽƵƚŚĞƐĐŽƉĞŽĨǀĂƌŝĂďůĞƐ͗
zŽƵŵŝŐŚƚŚĂǀĞŶŽƟĐĞĚƚŚĂƚƚŚĞƌĞĐƚĂŶŐƵůĂƌďůŽĐŬƐƐƚĂƌƚĂŶĚĞŶĚǁŝƚŚĐƵƌůLJͲďƌĂĐĞƐ͘:ƵƐƚ
AddTwoNumbers() /ŶƚƌŽĚƵĐŝŶŐƚŚĞƵŝůĚŝŶŐďůŽĐŬƐĨŽƌhŶŝƚLJ
> / ; A 2 1 A F A 2 1 + C / @ Þ ß à G
á S
͕ƚŚĞĐŽĚĞďĞƚǁĞĞŶƚŚĞŽƉĞŶŝŶŐĐƵƌůLJͲďƌĂĐĞĂŶĚĂĐůŽƐŝŶŐĐƵƌůLJͲďƌĂĐĞŝƐĐĂůůĞĚĂĐŽĚĞ
ďůŽĐŬ ďƐŽůƵƚĞůLJĂŶLJǁŚĞƌĞŝŶĂĐŽĚĞƚŚĂƚLJŽƵŚĂǀĞĂŶŽƉĞŶŝŶŐĐƵƌůLJͲďƌĂĐĞ͕ƚŚĞƌĞǁŝůůďĞĂ
D
ĐƵƌůLJͲďƌĂĐĞƚŽŵĂƚĐŚ͘ůůƚŚĞĐŽĚĞďĞƚǁĞĞŶƚŚĞƚǁŽďƌĂĐĞƐŝƐĂĐŽĚĞďůŽĐŬ͘
: > + ? / @ 0
[ 40 ]
Ä ¾ Æ Á ä E
EŽƟĐĞƚŚĂƚƚŚĞĐŽĚĞďůŽĐŬƐĐĂŶďĞŶĞƐƚĞĚŝŶƐŝĚĞŽƚŚĞƌĐŽĚĞďůŽĐŬƐ͘
zŽƵŶŽƌŵĂůůLJĚŽŶΖƚũƵƐƚĐƌĞĂƚĞďĂƌĞďůŽĐŬƐŽĨĐŽĚĞǁŝƚŚĐƵƌůLJͲďƌĂĐĞƐůŝŬĞ/
ĚŝĚǁŝƚŚŽĚĞůŽĐŬϯ
T
ÿ ú û ÿ ú ú û û ý ü þ ÿ ÿ
ú ÿ ý ÿ ú ü ÿ ý ü þ ÿ ú ü ÿ ú ü ÿ
ý ÿ ú ý ÿ U ÿ
ĚĞŵŽŶƐƚƌĂƚĞŚŽǁƚŚĞƐĐŽƉĞŽĨĂǀĂƌŝĂďůĞǁŽƌŬƐ͕ĂŶĚǁŚĞƌĞĂǀĂƌŝĂďůĞĞdžŝƐƚƐ
ú ü ý ÿ ÿ ú
dŚĞĨŽůůŽǁŝŶŐŝƐǁŚĂƚLJŽƵŚĂǀĞ͗
string block3
1 A , . A : A C / @ 0 > / @ A C A : > 9 . A ? 9 > + : 9 > B 9 . / 9 = > A @ 9 F A C D 1 / ? B 9 . / 9 = > A A ì / ? 2 ? / @
ŽĚĞůŽĐŬϯ block3
2 1 A : + C A = > + : ; 2 1 9 2 / ? > 9 = A > A C D E - + < 2 . - 2 + < ? A 2 1 A B 9 . / 9 = > A + < 2 ? / C A + E
!
block3ĚŽĞƐŶΖƚĞdžŝƐƚ͘
? 9 - / @ 0 2 1 9 2 B 9 . / 9 = > A
block3ŝƐƚŚĞĐŽĚĞďůŽĐŬĚĞĮŶĞĚďLJƚŚĞĐƵƌůLJͲďƌĂĐĞƐŽĨůŝŶĞƐϭϯ
1 A ? : + , A + E 2 1 A B 9 . / 9 = > A
ĂŶĚϭϴ͘
EŽǁůĞƚΖƐůŽŽŬĂƚƚŚĞblock1
B 9 . / 9 = > A I
string block1
1 A , . A : A C / @ 0 > / @ A C A : > 9 . A ? 9 2 - , A F A F = A . B 9 . / 9 = > A @ 9 F A C D 1 / ? B 9 . / 9 = > A
ŽĚĞůŽĐŬϭ
A ì / ? 2 ? / @ 2 1 A : + C A = > + : ; 2 1 9 2 / ? > 9 = A > A C D 1 / ? : + C A = > + : ; = A 0 / @ ? + @ > / @ A L 9 @ C
block1ĐĂŶďĞƵƐĞĚĞǀĞƌLJǁŚĞƌĞ͕ŝŶĐůƵĚŝŶŐŽĚĞ
A @ C ? + @ > / @ A 4 5 D 1 / ? F A 9 @ ? 2 1 A B 9 . / 9 = > A
ůŽĐŬϮĂŶĚŽĚĞůŽĐŬϯďĞĐĂƵƐĞ͕ƚŚĞLJĂƌĞĂůƐŽǁŝƚŚŝŶŽĚĞůŽĐŬϭ block1
D 1 A B 9 . / 9 = > A
ŽĚĞůŽĐŬϮ ŽĚĞůŽĐŬϯŽŶůŝŶĞϭϰ͘
/ ? < ? A C / @ + @ > / @ A 6 5 G 9 @ C / @
block1ǀĂƌŝĂďůĞŝƐƚŚĞĐŽĚĞďůŽĐŬĚĞĮŶĞĚďLJƚŚĞĐƵƌůLJͲďƌĂĐĞƐďĞƚǁĞĞŶ
1 A ? : + , A + E 2 1 A
> / @ A ? L 9 @ C 4 5 D
3RSTXL]²NQRZLQJKRZWRGHFODUHDYDULDEOH
Yϭ͘tŚĂƚŝƐƚŚĞƉƌŽƉĞƌǁĂLJƚŽŶĂŵĞĂǀĂƌŝĂďůĞ͍
YϮ͘,ŽǁĚŽLJŽƵŵĂŬĞĂǀĂƌŝĂďůĞĂƉƉĞĂƌŝŶƚŚĞhŶŝƚLJΖƐ ƉĂŶĞů͍
Yϯ͘ĂŶĂůůǀĂƌŝĂďůĞƐŝŶĂƐĐƌŝƉƚƐŚŽǁŝŶƚŚĞ ƉĂŶĞů͍
Yϰ͘ĂŶĂǀĂƌŝĂďůĞƐƚŽƌĞĂŶLJƚLJƉĞŽĨĚĂƚĂ͍
[ 41 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ
Summary
tĞĮƌƐƚĐŽǀĞƌĞĚŚŽǁƚŽǁƌŝƚĞĂηƐƚĂƚĞŵĞŶƚ͕ĞƐƉĞĐŝĂůůLJƚŚĞƐĞŵŝͲĐŽůŽŶƚŽƚĞƌŵŝŶĂƚĞ
ĂƐƚĂƚĞŵĞŶƚ͘ůůƚŚĞŽŵƉŽŶĞŶƚƉƌŽƉĞƌƟĞƐƐŚŽǁŶŝŶƚŚĞ
, 9 @ A > 9 . A F A F = A .
ǀĂƌŝĂďůĞƐŝŶƚŚĞŽŵƉŽŶĞŶƚΖƐĐůĂƐƐ͘DĞŵďĞƌǀĂƌŝĂďůĞƐĐĂŶďĞƐŚŽǁŶŝŶƚŚĞ
, 9 @ A > G
ŽƌĂĐĐĞƐƐĞĚďLJŽƚŚĞƌƐĐƌŝƉƚƐǁŚĞŶƚŚĞǀĂƌŝĂďůĞŝƐĚĞĐůĂƌĞĚĂƐpublic
D 1 A 2 - , A + E C 9 2 9 9
ǀĂƌŝĂďůĞĐĂŶƐƚŽƌĞŝƐƐƉĞĐŝĮĞĚǁŚĞŶŝƚΖƐĚĞĐůĂƌĞĚ͘&ŝŶĂůůLJ͕ǁĞůĞĂƌŶĞĚƚŚĂƚǀĂƌŝĂďůĞƐĐŽƉĞ
ĚĞƚĞƌŵŝŶĞƐǁŚĞƌĞŝƚŝƐĂůůŽǁĞĚƚŽďĞƵƐĞĚ͘
EŽǁƚŚĂƚǁĞΖǀĞůĞĂƌŶĞĚĂďŽƵƚǀĂƌŝĂďůĞƐ͕ǁĞΖƌĞƌĞĂĚLJƚŽůĞĂƌŶƚŚĞĚĞƚĂŝůƐŽĨηŵĞƚŚŽĚƐƚŚĂƚ
ǁŝůůƵƐĞƚŚĞǀĂƌŝĂďůĞƐǁĞĐƌĞĂƚĞʹǁŚŝĐŚŝƐƚŚĞƚŽƉŝĐŽĨƚŚĞŶĞdžƚĐŚĂƉƚĞƌ͘
[ 42 ]
*HWWLQJLQWRWKH'HWDLOVRI0HWKRGV
4
/ŶƚŚĞƉƌĞǀŝŽƵƐĐŚĂƉƚĞƌ͕LJŽƵǁĞƌĞŝŶƚƌŽĚƵĐĞĚƚŽĂǀĂƌŝĂďůĞΖƐƐĐŽƉĞͶǁŚĞƌĞ
ĂǀĂƌŝĂďůĞĞdžŝƐƚƐĂŶĚŝƐĂůůŽǁĞĚƚŽďĞƵƐĞĚ͘dŚĞƐĐŽƉĞŝƐĚĞƚĞƌŵŝŶĞĚďLJƚŚĞ
ΗŽƉĞŶŝŶŐΗĂŶĚΗĐůŽƐŝŶŐΗĐƵƌůLJďƌĂĐĞƐ͘dŚĞƉƵƌƉŽƐĞŽĨƚŚŽƐĞĐƵƌůLJďƌĂĐĞƐŝƐƚŽĂĐƚ
ĂƐĂĐŽŶƚĂŝŶĞƌĨŽƌĂďůŽĐŬŽĨĞdžĞĐƵƚĂďůĞĐŽĚĞ͕ĂĐŽĚĞďůŽĐŬ͘/ŶƐĞĐŽŶĚĐŚĂƉƚĞƌLJŽƵ
ƐĂǁƚŚĂƚĂŵĞƚŚŽĚŝƐĂĐŽĚĞďůŽĐŬƚŚĂƚĐĂŶĞdžĞĐƵƚĞďLJũƵƐƚĐĂůůŝŶŐƚŚĞŵĞƚŚŽĚΖƐ
ŶĂŵĞ͘/ƚΖƐƚŝŵĞƚŽƐĞĞƚŚĞŝŵƉŽƌƚĂŶĐĞŽĨĐŽĚĞďůŽĐŬƐĂŶĚƚŚĞǀĂƌŝĂďůĞƐƵƐĞĚŝŶ
ƚŚĞŵ͘ŵĞƚŚŽĚĚĞĨŝŶĞƐĂĐŽĚĞďůŽĐŬǁŚŝĐŚďĞŐŝŶƐĂŶĚĞŶĚƐǁŝƚŚĐƵƌůLJďƌĂĐĞƐ͘
/ŶƚŚŝƐĐŚĂƉƚĞƌǁĞǁŝůůĐŽǀĞƌƚŚĞĨĞĂƚƵƌĞƐŽĨŵĞƚŚŽĚƐ͗
ŶĚŝŶŐŵĞƚŚŽĚĚĞĮŶŝƟŽŶƐǁŝƚŚĐƵƌůLJďƌĂĐĞƐ
? / @ 0 F A 2 1 + C ? / @ 9 ? : . / , 2
)
9 F / @ 0 F A 2 1 + C ? , . + , A . > -
$
ĞĮŶŝŶŐĂŵĞƚŚŽĚ
* 9 > > / @ 0 9 F A 2 1 + C
A 2 < . @ / @ 0 9 B 9 > < A E . + F 9 F A 2 1 + C
"
hƐŝŶŐhŶŝƚLJΖƐUpdate() Start()
9 @ C F A 2 1 + C ?
sĂƌŝĂďůĞƐĂƌĞƚŚĞĮƌƐƚŵĂũŽƌďƵŝůĚŝŶŐďůŽĐŬŽĨη͕ŵĞƚŚŽĚƐĂƌĞƚŚĞƐĞĐŽŶĚ͕ƐŽůĞƚΖƐĚŝǀĞ
/ @ 2 + F A 2 1 + C ? D
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
(QGLQJDPHWKRGGHÀQLWLRQXVLQJFXUO\EUDFHV
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨsĂƌŝĂďůĞƐ
2 2 1 A = A 0 / @ @ / @ 0 + E Þ ß à G - + < > A 9 . @ A C 9 = + < 2 *
'
á é
ƐƚĂƚĞŵĞŶƚƐĂŶĚƚŚĞƌĞƋƵŝƌĞŵĞŶƚƚŽĞŶĚƚŚĞŵǁŝƚŚĂƐĞŵŝĐŽůŽŶ͘ŵĞƚŚŽĚĚĞĮŶŝƟŽŶŚĂƐ
ĂĚŝīĞƌĞŶƚƌĞƋƵŝƌĞŵĞŶƚ͘
ŵĞƚŚŽĚĚĞĮŶŝƟŽŶĞŶĚƐǁŝƚŚĂĐŽĚĞďůŽĐŬďĞƚǁĞĞŶĂƉĂŝƌŽĨĐƵƌůLJďƌĂĐĞƐ͘KEKd
A @ C
ĂŵĞƚŚŽĚĚĞĮŶŝƟŽŶǁŝƚŚĂƐĞŵŝĐŽůŽŶ͘
/ĨLJŽƵĚŽĂĐĐŝĚĞŶƚĂůůLJƉůĂĐĞĂƐĞŵŝĐŽůŽŶĂƚƚŚĞĞŶĚ͕DŽŶŽĞǀĞůŽƉǁŝůůŐůĂĚůLJƌĞŵŝŶĚ
LJŽƵǁŝƚŚĂŶĞƌƌŽƌŵĞƐƐĂŐĞƚŚĂƚLJŽƵΖƌĞŶŽƚƐƵƉƉŽƐĞĚƚŽƵƐĞĂƐĞŵŝĐŽůŽŶĂƚƚŚĞĞŶĚ
ŽĨĂŵĞƚŚŽĚĚĞĮŶŝƟŽŶ͘
+ , . + B / C A = A 1 9 B / + . 2 + 9 9 F A # = A : 2
%
dŽĐƌĞĂƚĞƌĞƵƐĂďůĞƐĞĐƟŽŶƐŽĨĐŽĚĞ
V ú ý ü ú ÿ û ý ý ÿ ý ü ÿ
dŚĞĮƌƐƚƉƵƌƉŽƐĞŽĨĂŵĞƚŚŽĚŝƐƚŽǁŽƌŬǁŝƚŚƚŚĞŵĞŵďĞƌǀĂƌŝĂďůĞƐŽĨƚŚĞĐůĂƐƐ͘dŚĞ
ŵĞŵďĞƌǀĂƌŝĂďůĞƐƐƚŽƌĞĚĂƚĂƚŚĂƚΖƐŶĞĞĚĞĚĨŽƌĂŽŵƉŽŶĞŶƚƚŽŐŝǀĞĂ'ĂŵĞKďũĞĐƚŝƚƐ
ďĞŚĂǀŝŽƌ͘dŚĞǁŚŽůĞƌĞĂƐŽŶĨŽƌǁƌŝƟŶŐĂƐĐƌŝƉƚŝƐƚŽŵĂŬĞĂ'ĂŵĞKďũĞĐƚĚŽƐŽŵĞƚŚŝŶŐ
ŝŶƚĞƌĞƐƟŶŐ͘ŵĞƚŚŽĚŝƐƚŚĞƉůĂĐĞǁĞŵĂŬĞƚŚĞďĞŚĂǀŝŽƌĐŽŵĞƚŽůŝĨĞ͘
dŚĞƐĞĐŽŶĚƉƵƌƉŽƐĞŽĨĂŵĞƚŚŽĚŝƐƚŽĐƌĞĂƚĞĐŽĚĞďůŽĐŬƐƚŚĂƚǁŝůůďĞƵƐĞĚŽǀĞƌĂŶĚŽǀĞƌ
ĂŐĂŝŶ͘zŽƵĚŽŶΖƚǁĂŶƚƚŽďĞǁƌŝƟŶŐƚŚĞƐĂŵĞĐŽĚĞŽǀĞƌĂŶĚŽǀĞƌ͘/ŶƐƚĞĂĚ͕LJŽƵƉůĂĐĞƚŚĞ
ĐŽĚĞŝŶƚŽĂĐŽĚĞďůŽĐŬĂŶĚŐŝǀĞŝƚĂŶĂŵĞƐŽLJŽƵĐĂŶĐĂůůŝƚǁŚĞŶŶĞĞĚĞĚ͘
ĚŽŶΖƚƵƐĞŐŽŽĚŶĂŵĞƐ͕ƚŚĞŶƐŝdžŵŽŶƚŚƐĨƌŽŵŶŽǁLJŽƵǁŝůůďĞƐĂĚ͘
J / @ : A F A 2 1 + C ? F 9 ; A 9 F A # = A : 2 C + ? + F A 2 1 / @ 0 < ? A E < > G - + < ? 1 + < > C 0 / B A - + < . F A 2 1 + C 9
%
ŶĂŵĞƚŚĂƚƐŽƵŶĚƐůŝŬĞΗĂĐƟŽŶ͘Η&ŽƌĞdžĂŵƉůĞ͕JumpOverTheFence ClimbTheWall
+ . D
zŽƵĐĂŶůŽŽŬĂƚƚŚŽƐĞŶĂŵĞƐĂŶĚŬŶŽǁĞdžĂĐƚůLJǁŚĂƚƚŚĞŵĞƚŚŽĚŝƐŐŽŝŶŐƚŽĚŽ͘
[ 44 ]
Ä ¾ Æ Á ä W
ŽŶΖƚŵĂŬĞƚŚĞŵƚŽŽƐŝŵƉůĞ͘^ƵƉƉŽƐĞLJŽƵŶĂŵĞĂŵĞƚŚŽĚWiggle͘^ƵƌĞLJŽƵŬŶŽǁǁŚĂƚ
tŝŐŐůĞŵĞĂŶƐƌŝŐŚƚŶŽǁ͕ďƵƚŝŶƐŝdžŵŽŶƚŚƐLJŽƵΖůůůŽŽŬĂƚƚŚĂƚĂŶĚƐĂLJΗtŝŐŐůĞ͍tŝŐŐůĞ
ǁŚĂƚ͍Η/ƚŽŶůLJƚĂŬĞƐĂŵŽŵĞŶƚƚŽďĞĂůŝƩůĞŵŽƌĞƉƌĞĐŝƐĞĂŶĚǁƌŝƚĞWiggleMyButt
D
EŽǁǁŚĞŶLJŽƵƐĞĞƚŚĂƚŵĞƚŚŽĚŶĂŵĞ͕LJŽƵΖůůŬŶŽǁĞdžĂĐƚůLJǁŚĂƚŝƚΖƐŐŽŝŶŐƚŽĚŽ͘
X
ůĞƩĞƌ͘/ĨƐŽŵĞŽŶĞĞůƐĞĞǀĞƌůŽŽŬƐĂƚLJŽƵƌĐŽĚĞ͕ƚŚĞLJǁŝůůĞdžƉĞĐƚƚŽƐĞĞŵĞƚŚŽĚŶĂŵĞƐ
ďĞŐŝŶŶŝŶŐǁŝƚŚĂŶ ůĞƩĞƌ͘
X
8VLQJPXOWLZRUGQDPHVIRUDPHWKRG
? / @ 0 2 1 / ? A ì 9 F , > A 9 0 9 / @ I
)
void AddTwoNumbers ()
{
// Code goes here
}
zŽƵĐĂŶƐĞĞƚŚĞŶĂŵĞŝƐĂĐƚƵĂůůLJƚŚƌĞĞǁŽƌĚƐƐƋƵŝƐŚĞĚƚŽŐĞƚŚĞƌ͘^ŝŶĐĞŵĞƚŚŽĚŶĂŵĞƐĐĂŶ
ŽŶůLJŽŶĞǁŽƌĚ͕ƚŚĞĮƌƐƚǁŽƌĚďĞŐŝŶƐƵƉƉĞƌĐĂƐĞ͕ƚŚĞŶũƵƐƚĐĂƉŝƚĂůŝnjĞƚŚĞĮƌƐƚůĞƩĞƌŽĨĞĂĐŚ
ĂĚĚŝƟŽŶĂůǁŽƌĚ͘&ŽƌĞdžĂŵƉůĞ͕WĂƐĐĂůĂƐŝŶŐ͘
3DUHQWKHVHVDUHSDUWRIWKHPHWKRGQDPH
ŶĂŵĞĂůǁĂLJƐŝŶĐůƵĚĞƐĂƉĂŝƌŽĨƉĂƌĞŶƚŚĞƐĞƐŽŶƚŚĞĞŶĚ͘dŚĞƉĂƌĞŶƚŚĞƐĞƐŶŽƚ
1 A F A 2 1 + C
ŽŶůLJůĞƚLJŽƵŬŶŽǁƚŚĂƚƚŚĞŶĂŵĞŝƐĂŵĞƚŚŽĚ͕ďƵƚƚŚĞLJĚŽƐĞƌǀĞĂŶŝŵƉŽƌƚĂŶƚƉƵƌƉŽƐĞŽĨ
ĂůůŽǁŝŶŐLJŽƵƚŽŝŶƉƵƚƐŽŵĞĚĂƚĂŝŶƚŽƚŚĞŵĞƚŚŽĚǁŚĞŶŶĞĞĚĞĚ͘
'HÀQLQJDPHWKRGSURSHUO\
:ƵƐƚůŝŬĞĨŽƌǀĂƌŝĂďůĞƐ͕ǁĞŚĂǀĞƚŽůĞƚhŶŝƚLJŬŶŽǁĂďŽƵƚĂŵĞƚŚŽĚďĞĨŽƌĞǁĞĐĂŶƵƐĞŝƚ͘
ĞƉĞŶĚŝŶŐŽŶǁŚŽLJŽƵƚĂůŬƚŽ͕ƐŽŵĞǁŝůůƐĂLJǁĞŚĂǀĞƚŽĚĞĐůĂƌĞ ŽƚŚĞƌƐǁŝůůƐĂLJ
9 F A 2 1 + C G
ǁĞŚĂǀĞƚŽĚĞĮŶĞĂŵĞƚŚŽĚ͘tŚŝĐŚŝƐĐŽƌƌĞĐƚ͍/Ŷη͕ŝƚĚŽĞƐŶΖƚŵĂŬĞĂŶLJĚŝīĞƌĞŶĐĞ͘hƐĞ
ǁŚŝĐŚĞǀĞƌƚĞƌŵŚĞůƉƐLJŽƵůĞĂƌŶĞĂƐŝĞƌ͘/ůŝŬĞƚŽƐĂLJ/ΖŵĚĞĮŶŝŶŐĂŵĞƚŚŽĚΖƐĐŽĚĞďůŽĐŬ͕
ĚĞĐůĂƌŝŶŐ
@ + 2 1 / @ 0 > / ; A 9 ? / F , > A B 9 . / 9 = > A + @ 9 + @ A > / @ A ? 2 9 2 A F A @ 2 D
[ 45 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
7KHPLQLPXPUHTXLUHPHQWVIRUGHÀQLQJDPHWKRG
ŵŝŶŝŵƵŵƌĞƋƵŝƌĞŵĞŶƚƐĨŽƌĚĞĮŶŝŶŐĂŵĞƚŚŽĚ͗
1 A . A 9 . A 2 1 . A A
dŚĞƚLJƉĞŽĨŝŶĨŽƌŵĂƟŽŶ͕ŽƌĚĂƚĂ͕ĂŵĞƚŚŽĚǁŝůůƌĞƚƵƌŶƚŽƚŚĞƉůĂĐĞǁŚĞƌĞƚŚĞ
ŵĞƚŚŽĚǁĂƐĐĂůůĞĚ
dŚĞŶĂŵĞŽĨƚŚĞŵĞƚŚŽĚƐŚŽƵůĚďĞĨŽůůŽǁĞĚďLJĂƉĂŝƌŽĨƉĂƌĞŶƚŚĞƐĞƐ
, 9 / . + E : < . > - = . 9 : A ? ? 1 + < > C = A , . A ? A @ 2 E + . : + @ 2 9 / @ / @ 0 2 1 A : + C A = > + : ; I
'
returnDataType NameOfTheMethod ( )
{
}
LearningScript Start()
K + + ; / @ 0 9 2 + @ : A 9 0 9 / @ G + . 9 @ - @ / 2 - 0 A @ A . 9 2 A C ? : . / , 2 G 2 1 A
)
F A 2 1 + C 1 9 ? 2 1 A 2 1 . A A = 9 . A = + @ A F / @ / F < F . A < / . A F A @ 2 ? E + . 9 F A 2 1 + C I
(
void Start ()
{
}
,ĞƌĞΖƐǁŚĂƚǁĞŚĂǀĞ͗
KƵƌĮƌƐƚƌĞƋƵŝƌĞŵĞŶƚŝƐƚŚĞƚLJƉĞŽĨĚĂƚĂƚŚĞŵĞƚŚŽĚǁŝůůƌĞƚƵƌŶƚŽƚŚĞƉůĂĐĞŝŶƚŚĞ
ĐŽĚĞƚŚĂƚĐĂůůĞĚƚŚŝƐŵĞƚŚŽĚ͘dŚŝƐŵĞƚŚŽĚŝƐŶΖƚƌĞƚƵƌŶŝŶŐĂŶLJǀĂůƵĞ͕ƐŽŝŶƐƚĞĂĚŽĨ
ƐƉĞĐŝĨLJŝŶŐĂŶĂĐƚƵĂůƚLJƉĞŽĨĚĂƚĂ͕ƚŚĞŬĞLJǁŽƌĚvoid
/ ? < ? A C D 1 / ? / @ E + . F ? @ / 2 - 2 1 9 2
)
@ + 2 1 / @ 0 / ? = A / @ 0 . A 2 < . @ A C E . + F 2 1 A F A 2 1 + C D
^ĞĐŽŶĚƌĞƋƵŝƌĞŵĞŶƚŝƐƚŚĞŵĞƚŚŽĚŶĂŵĞǁŚŝĐŚŝƐStart()
D
>ĂƐƚƌĞƋƵŝƌĞŵĞŶƚŝƐƚŚĞĐƵƌůLJďƌĂĐĞƐ͕ǁŚŝĐŚĐŽŶƚĂŝŶƐƚŚĞĐŽĚĞƚŚĂƚĚĞĮŶĞƐǁŚĂƚƚŚĞ
F A 2 1 + C / ? 0 + / @ 0 2 + C + D
dŚŝƐĞdžĂŵƉůĞĨƵůĮůůƐƚŚĞďĂƌĞŵŝŶŝŵƵŵƌĞƋƵŝƌĞŵĞŶƚƐƚŽďĞĂŵĞƚŚŽĚ͘,ŽǁĞǀĞƌ͕ĂƐLJŽƵĐĂŶ
ƐĞĞ͕ƚŚĞƌĞΖƐŶŽĐŽĚĞŝŶƚŚĞĐŽĚĞďůŽĐŬ͕ƐŽǁŚĞŶStart()ŝƐĐĂůůĞĚďLJhŶŝƚLJ͕ŝƚĚŽĞƐŶΖƚĚŽ
ĂŶLJƚŚŝŶŐĂƚĂůů͕ďƵƚŝƚΖƐƐƟůůĂŵĞƚŚŽĚ͘EŽƌŵĂůůLJ͕ŝĨǁĞĂƌĞŶΖƚŐŽŝŶŐƚŽƵƐĞĂŵĞƚŚŽĚďLJĂĚĚŝŶŐ
ĐŽĚĞƚŽĂƐŬĞůĞƚŽŶŵĞƚŚŽĚĐƌĞĂƚĞĚďLJhŶŝƚLJ͕ǁĞĐĂŶƐŝŵƉůLJƌĞŵŽǀĞƚŚĞŵĨƌŽŵŽƵƌƐĐƌŝƉƚ͘/ƚΖƐ
ŶŽƌŵĂůůLJďĞƐƚƚŽƌĞŵŽǀĞƵŶƵƐĞĚĐŽĚĞĂŌĞƌƚŚĞƐĐƌŝƉƚŝƐĚŽŶĞďĞŝŶŐǁƌŝƩĞŶ͘
,ĞƌĞΖƐǁŚĂƚǁĞŬŶŽǁĂďŽƵƚƚŚŝƐďĂƌĞŵŝŶŝŵƵŵŵĞƚŚŽĚĚĞĮŶŝƟŽŶĂƐĨĂƌĂƐhŶŝƚLJ
/ ? : + @ : A . @ A C I
dŚĞƌĞΖƐŶŽƉƵďůŝĐŵŽĚŝĮĞƌ͕ǁŚŝĐŚŵĞĂŶƐƚŚŝƐŵĞƚŚŽĚŝƐprivate
= - C A E 9 < > 2 D
1 A . A E + . A G 2 1 / ? F A 2 1 + C : 9 @ @ + 2 = A : 9 > > A C E . + F + 2 1 A . ? : . / , 2 ? D
dŚĞƌĞΖƐŶŽĐŽĚĞŝŶƚŚĞĐŽĚĞďůŽĐŬ͘dŚĞƌĞĨŽƌĞ͕ƚŚŝƐŵĞƚŚŽĚĚŽĞƐŶΖƚĚŽĂŶLJƚŚŝŶŐ͕
ƐŽŝƚĐĂŶďĞƌĞŵŽǀĞĚŝĨǁĞǁŝƐŚ͘
[ 46 ]
Ä ¾ Æ Á ä W
8QGHUVWDQGLQJSDUHQWKHVHV²ZK\DUHWKH\WKHUH"
KŶĞƚŚŝŶŐĨŽƌƐƵƌĞŝƐƚŚĂƚŝƚŵĂŬĞƐĞĂƐLJƚŽƌĞĐŽŐŶŝnjĞƚŚĂƚŝƚΖƐĂŵĞƚŚŽĚ͕ďƵƚǁŚLJĂƌĞƚŚĞLJƉĂƌƚ
ŽĨĂŵĞƚŚŽĚΖƐŶĂŵĞ͍
ĂůƌĞĂĚLJŬŶŽǁƚŚĂƚĂŵĞƚŚŽĚŝƐĂĐŽĚĞďůŽĐŬƚŚĂƚŝƐŐŽŝŶŐƚŽŐĞƚĐĂůůĞĚŵƵůƟƉůĞƟŵĞƐ͘dŚĂƚΖƐ
A
ŽŶĞŽĨƚŚĞƌĞĂƐŽŶƐǁŚLJĂŵĞƚŚŽĚĐƌĞĂƚĞĚŝŶƚŚĞĮƌƐƚƉůĂĐĞ͕ƐŽǁĞĚŽŶΖƚŚĂǀĞƚŽǁƌŝƚĞƚŚĞƐĂŵĞ
ĐŽĚĞŽǀĞƌĂŶĚŽǀĞƌ͘ZĞŵĞŵďĞƌƚŚĞĚĚdǁŽEƵŵďĞƌƐ;ͿŵĞƚŚŽĚďĂĐŬŝŶŚĂƉƚĞƌϮ͘/ƚǁĂƐǀĞƌLJ
ƐŝŵƉůĞŵĞƚŚŽĚƵƐĞĚƚŽĞdžƉůĂŝŶƚŚĞĐŽŶĐĞƉƚŽĨĂŵĞƚŚŽĚĂŶĚŚŽǁƚŽĐĂůůŝƚ͘EŽǁŝƚΖƐƟŵĞƚŽ
2 9 ; A 2 1 A @ A ì 2 ? 2 A , 9 @ C > A 9 . @ 2 1 A < ? A E < > @ A ? ? + E 2 1 A , 9 . A @ 2 1 A ? A ? D
7LPHIRUDFWLRQ²DGGLQJFRGHEHWZHHQWKHSDUHQWKHVHV
tĞΖƌĞŐŽŝŶŐƚŽŵŽĚŝĨLJLearningScriptƚŽƐĞŶĚƐŽŵĞŝŶĨŽƌŵĂƟŽŶƚŽƚŚĞ
AddTwoNumbers()
F A 2 1 + C 2 + F 9 ; A / 2 F < : 1 F + . A < ? A E < > D
tŚLJǁŽƵůĚǁĞŶĞĞĚƚŽƐĞŶĚŝŶĨŽƌŵĂƟŽŶƚŽĂŵĞƚŚŽĚ͍
ƐĐƌŝƉƚŵĂLJŶĞĞĚƚŽĂĚĚƚǁŽŶƵŵďĞƌƐƐĞǀĞƌĂůƟŵĞƐ͕ďƵƚƚŚĞLJƉƌŽďĂďůLJǁŽŶΖƚĂůǁĂLJƐďĞ
ƚŚĞƐĂŵĞƚǁŽŶƵŵďĞƌƐ͘tĞĐŽƵůĚƉŽƐƐŝďůLJŚĂǀĞŚƵŶĚƌĞĚƐŽĨĚŝīĞƌĞŶƚĐŽŵďŝŶĂƟŽŶƐŽĨΗƚǁŽ
ŶƵŵďĞƌƐΗƚŽĂĚĚƚŽŐĞƚŚĞƌ͘dŚŝƐŵĞĂŶƐƚŚĂƚǁĞŶĞĞĚƚŽůĞƚƚŚĞŵĞƚŚŽĚŬŶŽǁ͕ǁŚŝĐŚƚǁŽ
ŶƵŵďĞƌƐŶĞĞĚƚŽďĞĂĚĚĞĚƚŽŐĞƚŚĞƌĂƚƚŚĞŵŽŵĞŶƚǁŚĞŶǁĞĐĂůůƚŚĞŵĞƚŚŽĚ͘
[ 47 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
ƉƌĞĐĞĚŝŶŐƐĐƌĞĞŶƐŚŽƚ͕ƉĞƌĨŽƌŵƚŚĞĨŽůůŽǁŝŶŐƐƚĞƉƐ͗
? / @ 0 2 1 A
)
ó ô
LearningScript
# , A @ / @ + @ + ¤ A B A > + , 2 + F + C / E - / 2 D
#
ĚĚůŝŶĞƐϲ͕ϳ͕ĂŶĚϴƚŽĚĞĐůĂƌĞƚŚƌĞĞŝŶƚĞŐĞƌǀĂƌŝĂďůĞƐ͘
õ ô
ĚĚůŝŶĞƐϮϮƚŽϮϲƚŽĚĞĮŶĞƚŚĞAddTwoNumbers()ŵĞƚŚŽĚǁŝƚŚƉĂƌĂŵĞƚĞƌƐ͘
ö ô
ĚĚůŝŶĞƐϭϮ͕ϭϯ͕ĂŶĚϭϰƚŽĐĂůůƚŚĞAddTwoNumbers()ƚŚƌĞĞƟŵĞƐ͘
ô
.
^ĂǀĞƚŚĞĮůĞ͘
ô
/
WůĂLJ
Y ô
* > / : ; + @ / @ @ / 2 - D
)
ϭϯ͕ĂŶĚϭϰ͘dŚĞŵĞƚŚŽĚΖƐĐŽĚĞďůŽĐŬĂĚĚƐƚǁŽŶƵŵďĞƌƐĂŶĚĚŝƐƉůĂLJƐƚŚĞƌĞƐƵůƚŝŶƚŚĞhŶŝƚLJ
ŽŶƐŽůĞ;ƐĞĞƚŚĞLJĞůůŽǁĂƌƌŽǁƐŝŶƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚͿ͗
ĐƵďďLJŚŽůĞ͘tŚĞŶǁĞĐĂůůAddTwoNumbers()
1 + ? A , 9 . A @ 2 1 A ? A ? 9 . A > / ; A 9 9 : + < , > A + E
ŶƵŵďĞƌƐĂƌĞƐƚƵīĞĚŝŶƚŽƚŚĞĐƵďďLJŚŽůĞ͘tŚĞŶƚŚĞĐŽĚĞďůŽĐŬĞdžĞĐƵƚĞƐ͕ŝƚƚĂŬĞƐƚŚŽƐĞ
ƚǁŽŶƵŵďĞƌƐŚĞůĚŝŶƚŚĞĐƵďďLJŚŽůĞĂŶĚƵƐĞƐƚŚĞŵŽŶůŝŶĞϮϰ͘
dŚĞƌĞΖƐĂƐƉĞĐŝĂůŶĂŵĞĨŽƌƚŚĂƚŝŶĨŽƌŵĂƟŽŶďĞƚǁĞĞŶƚŚĞƉĂƌĞŶƚŚĞƐĞƐŽĨĂŵĞƚŚŽĚ
ĚĞĮŶŝƟŽŶ͕ƐƵĐŚĂƐůŝŶĞϮϮͶƚŚĞĐŽĚĞŝƐĐĂůůĞĚƚŚĞŵĞƚŚŽĚƉĂƌĂŵĞƚĞƌƐ͘
6SHFLI\LQJDPHWKRG
VSDUDPHWHUV
ǁŽƌĚƉĂƌĂŵĞƚĞƌƐŝŶƚŚĞĚŝĐƟŽŶĂƌLJ͕LJŽƵƌďƌĂŝŶǁŝůůƉƌŽďĂďůLJƐĞŝnjĞƵƉ͘ůůŝƚ
E - + < > + + ; < , 2 1 A
!
ŵĞĂŶƐŝƐƚŚĂƚƚŚĞŵĞƚŚŽĚŚĂƐƚŽďĞĂďůĞƚŽƵƐĞƚŚĞŝŶĨŽƌŵĂƟŽŶLJŽƵƐĞŶĚŝƚ͕ƐŽLJŽƵƐŝŵƉůLJ
ŚĂǀĞƚŽƐƉĞĐŝĨLJƚŚĞƚLJƉĞŽĨĚĂƚĂƚŚĞŵĞƚŚŽĚŝƐĂůůŽǁĞĚƚŽƵƐĞ͘dŚĂƚΖƐŝƚ͕ŝƚΖƐǀĞƌLJƐŝŵƉůĞ͘
/ŶƚŚĞĞĂƌůŝĞƌƐĐƌĞĞŶƐŚŽƚ͕ŽŶůŝŶĞϮϮƚŚĞƌĞĚĂƌƌŽǁƐƉŽŝŶƚĞĚƚŽƚŚĞƚLJƉĞŽĨƚŚĞĚĞĐůĂƌĞĚ
firstNumber secondNumber int integer͘EŽǁŶŽƟĐĞƚŚĞ
B 9 . / 9 = > A ? 9 @ C D 1 A 2 - , A / ? G + .
int intƐŝŶĐĞƚŚĞLJƐƚŽƌĞƚŚĞŶƵŵďĞƌƐƚŚĂƚǁŝůůďĞ
2 - , A D 1 A ? A B 9 . / 9 = > A ? 1 9 B A 2 + = A + E 2 - , A
ĂĚĚĞĚŝŶƚŚĞŵĞƚŚŽĚ͕ǁŚŝĐŚƚŚĞƉĂƌĂŵĞƚĞƌƐƐƉĞĐŝĨLJǁŝůůďĞŽĨƚLJƉĞint
D
[ 48 ]
Ä ¾ Æ Á ä W
^ŽŶŽǁŐŽůŽŽŬŝŶƚŚĞĚŝĐƟŽŶĂƌLJĂŐĂŝŶ͘zŽƵǁŝůůƉƌŽďĂďůLJƐĞĞƚŚĞǁŽƌĚůŝŵŝƚŝŶƚŚĞƌĞ
ƐŽŵĞǁŚĞƌĞ͘dŚĂƚΖƐǁŚĂƚLJŽƵĚŝĚǁŚĞŶLJŽƵƐƉĞĐŝĮĞĚƚŚĞƚLJƉĞŽĨĚĂƚĂ͕ĂŶŝŶƚĞŐĞƌ͕ƚŚĂƚƚŚĞ
ŵĞƚŚŽĚǁŝůůƵƐĞ͘zŽƵƐĞƚƐŽŵĞůŝŵŝƚƐŽŶǁŚĂƚΖƐĂůůŽǁĞĚ͘
KŬ͕ƐŽLJŽƵΖƌĞƐĞƫŶŐƉĂƌĂŵĞƚĞƌƐ͕ŽƌůŝŵŝƚƐ͕ŽŶƚŚĞƚLJƉĞŽĨĚĂƚĂƚŚĞŵĞƚŚŽĚĐĂŶƵƐĞ͕ďƵƚ
ǁŚĂƚĞdžĂĐƚůLJŝƐĂƉĂƌĂŵĞƚĞƌ͍tĞůů͕ƚŚĞĮƌƐƚƉĂƌĂŵĞƚĞƌŝƐĐĂůůĞĚfirstNumber͕ĂŶĚǁŚĂƚŝƐ
firstNumberĚŽŝŶŐ͍/ƚΖƐƐƚŽƌŝŶŐĂǀĂůƵĞƚŚĂƚǁŝůůďĞƵƐĞĚŝŶƚŚĞĐŽĚĞďůŽĐŬŽŶůŝŶĞϮϰ͘tŚĂƚ
ĚŽǁĞĐĂůůƚŚŝŶŐƐƚŚĂƚƐƚŽƌĞĚĂƚĂ͍dŚĂƚΖƐƌŝŐŚƚ͕ǀĂƌŝĂďůĞƐ͘sĂƌŝĂďůĞƐĂƌĞƵƐĞĚĞǀĞƌLJǁŚĞƌĞ͘
ZĞŵĞŵďĞƌ͕ĂǀĂƌŝĂďůĞŝƐũƵƐƚĂƐƵďƐƟƚƵƚĞŶĂŵĞĨŽƌƚŚĞ
? ú ý ú
ú ÿ û ÿ
ŽǁŶĐƵƐƚŽŵŵĞƚŚŽĚƐ͕ŽƌLJŽƵƵƐĞƚŚĞŵĞƚŚŽĚƐŽĨƚŚĞƐĐƌŝƉƟŶŐƌĞĨĞƌĞŶĐĞ͕ƚŚĞƉĂƌĂŵĞƚĞƌƐ
ƚŚĂƚĂƌĞĚĞĮŶĞĚĂƌĞǁŚĂƚƚŚĞŵĞƚŚŽĚǁŝůůƌĞƋƵŝƌĞƚŽďĞĂďůĞƚŽƉĞƌĨŽƌŵŝƚƐƐƉĞĐŝĮĞĚƚĂƐŬ͘
Calling a method
/ŶƚŚĞĞĂƌůŝĞƌƐĐƌĞĞŶƐŚŽƚ͕ůŽŽŬĂƚůŝŶĞƐϭϮĂŶĚϮϮ͘ŽLJŽƵŶŽƟĐĞĂŶLJƚŚŝŶŐĚŝīĞƌĞŶƚ͍
dŚĞLJƐƵƌĞĚŽŶΖƚůŽŽŬƚŚĞƐĂŵĞ͕ĚŽƚŚĞLJ͍dŚĞǀĂƌŝĂďůĞŶĂŵĞƐ͕ǁŚŝĐŚƚŚĞďůƵĞĂƌƌŽǁƐ
ƉŽŝŶƚƚŽ͕ĂƌĞĚŝīĞƌĞŶƚ͘
ƚŚĂƚĐŽĚĞĂŶĚƐĂLJŝŶŐΗtŚĂƚƚŚĞŚĞĐŬ͍ΗƚŚĞŶĚŽŶΖƚĨĞĞůďĂĚ͘tŚĞŶ/ǁĂƐ
E - + < 9 . A > + + ; / @ 0 9 2
!
ĮƌƐƚůĞĂƌŶŝŶŐƚŚĞĐŽŶĐĞƉƚŽĨĐĂůůŝŶŐŵĞƚŚŽĚƐ͕/ŚĂĚŽŶĞŚĞĐŬŽĨƟŵĞƵŶĚĞƌƐƚĂŶĚŝŶŐŚŽǁƚŚĞ
ĐŽĚĞǁŽƌŬĞĚ͘/ƚŝƐ͕ŝŶĨĂĐƚ͕ǀĞƌLJƐŝŵƉůĞ͕ďƵƚ/ĨŽƵŐŚƚǁŝƚŚƚŚŝƐĨŽƌĚĂLJƐďĞĨŽƌĞƚŚĞůŝŐŚƚƐĐĂŵĞ
ŽŶ͘/ĐŽŶƐƵůƚĞĚĂůůƚŚĞƉƌŽŐƌĂŵŵŝŶŐŬƐ/ŚĂĚ͕ǁƌŝƩĞŶďLJĂůůƚŚĞĞdžƉĞƌƚƐ͕ĂŶĚŶŽƚĂƐŝŶŐůĞ
ŽŶĞŚĂĚƚŚĞĚĞĐĞŶĐLJƚŽĞdžƉůĂŝŶŚŽǁƚŚĞĐŽĚĞǁŽƌŬĞĚ͘ůůƚŚŽƐĞŬĂƵƚŚŽƌƐũƵƐƚĂƐƐƵŵĞĚ
/ΖĚΗŐĞƚŝƚΗďĞĐĂƵƐĞĂŌĞƌĂůů͕ƚŚĞLJǁĞƌĞĞdžƉĞƌƚƐ͘
/ŚĂĚƚŽĮŐƵƌĞŝƚŽƵƚŵLJƐĞůĨǁŝƚŚƚƌŝĂůĂŶĚĞƌƌŽƌƚĞƐƟŶŐ͘ŌĞƌŵĂŶLJĚĂLJƐ͕/ĮŶĂůůLJŚĂĚŵLJ
ΗŚͲ,ĂΗŵŽŵĞŶƚ͘
8VLQJDUJXPHQWVLQWKHSDUHQWKHVHVRIDPHWKRG
ƌŐƵŵĞŶƚƐ͍͍tŚŽĚƌĞĂŵƐƵƉƚŚĞƐĞǁŽƌĚƐ͍tĞĂůůŬŶŽǁǁŚĂƚĂŶĂƌŐƵŵĞŶƚŝƐ͘ǀĞƌLJŽŶĞŽĨ
ƵƐŚĂƐďĞĞŶŝŶǀŽůǀĞĚŝŶĂŶĂƌŐƵŵĞŶƚĂƚƐŽŵĞƟŵĞ͘tĞůů͕ƐŽŵĞŽŶĞĚĞĐŝĚĞĚƚŚŝƐǁŽƵůĚďĞĂ
ŐŽŽĚǁŽƌĚƚŽŵĞĂŶƐŽŵĞƚŚŝŶŐŝŶƉƌŽŐƌĂŵŵŝŶŐ͘^ƵƌĞĞŶŽƵŐŚ͕ůŽŽŬŝƚƵƉŝŶĂĚŝĐƟŽŶĂƌLJĂŶĚ
LJŽƵΖůůƉƌŽďĂďůLJƐĞĞƐŽŵĞƚŚŝŶŐůŝŬĞƚŚŝƐ͗ΗǀĂůƵĞŽƌĂĚĚƌĞƐƐƉĂƐƐĞĚƚŽĂƉƌŽĐĞĚƵƌĞŽƌĨƵŶĐƟŽŶ
ĂƚƚŚĞƟŵĞŽĨĐĂůů͘Η
[ 49 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
zƵƉ͕ƚŚĂƚĞdžƉůĂŝŶƐŝƚƚŽƚĂůůLJ͕ƌŝŐŚƚ͍KŬ͕ůĞƚΖƐƌĞĂůůLJůĞĂƌŶǁŚĂƚĂƌŐƵŵĞŶƚƐĂƌĞ͕ĂŶĚǁŚĂƚƚŚĞLJĚŽ
/ @ : + C A D @ 2 1 A , . A B / + < ? ? : . A A @ ? 1 + 2 G > + + ; 9 2 > / @ A 6 4 I
!
AddTwoNumbers(number1, number2);
ƐƚŽƌĞĚŝŶƚŚĞƐĞƚǁŽǀĂƌŝĂďůĞƐ͕ϮĂŶĚϯ͕ĂƌĞƉůĂĐĞĚŝŶƚŚĞĐƵďďLJŚŽůĞ͘
KŶůŝŶĞϮϮ͕ƚŚĞŵĞƚŚŽĚĚĞĮŶĞƐƚŚĂƚŝƚƚĂŬĞƐŝŶƚǁŽƉĂƌĂŵĞƚĞƌƐĐĂůůĞĚfirstNumber
9 @ C
secondNumber͘dŚŝƐŵĞĂŶƐ͕ŽĨĐŽƵƌƐĞ͕ƚŚĂƚƐŽŵĞǁŚĞƌĞŝŶƚŚŝƐƉƌŽĐĞƐƐƚŚĞƐĞƉĂƌĂŵĞƚĞƌƐ
ǁŝůůŚĂǀĞƚŽŚĂǀĞǀĂůƵĞƐĂƐƐŝŐŶĞĚƚŚĞŵ͘
,ĞƌĞΖƐƚŚĞƐĞĐƌĞƚ/ĮŶĂůůLJĚŝƐĐŽǀĞƌĞĚŽŶŵLJŽǁŶ͘ĞŚŝŶĚƚŚĞƐĐĞŶĞƐ͕ǁŚĞƌĞLJŽƵĐĂŶΖƚƐĞĞ͕
ƚŚĞǀĂůƵĞƐϮĂŶĚϯ͕ƚŚĂƚĂƌĞŝŶƚŚĞĐƵďďLJŚŽůĞ͕ĂƌĞŶŽǁĂƐƐŝŐŶĞĚƚŽƚŚĞǀĂƌŝĂďůĞƐ
firstNumber secondNumber
9 @ C D
zŽƵĚŽŶΖƚƐĞĞƚŚŝƐĐŽĚĞ͕ďƵƚŝĨLJŽƵĐŽƵůĚƐĞĞŝƚ͕ǁŚĂƚŚĂƉƉĞŶƐǁŝƚŚĂƌŐƵŵĞŶƚƐĂŶĚ
, 9 . 9 F A 2 A . ? > + + ; ? < ? 2 > / ; A 2 1 / ? I
firstNumber = number1;
secondNumber = number2;
number1ĐŽŶƚĂŝŶĞĚƚŚĞǀĂůƵĞϮ͕ŶŽǁƚŚĞƉĂƌĂŵĞƚĞƌ
J / @ : A 2 1 A 9 . 0 < F A @ 2
firstNumber
: + @ 2 9 / @ ? 2 1 A B 9 > < A 4
number2ĐŽŶƚĂŝŶĞĚƚŚĞǀĂůƵĞϯ͕ŶŽǁƚŚĞƉĂƌĂŵĞƚĞƌ
J / @ : A 2 1 A 9 . 0 < F A @ 2
secondNumber
: + @ 2 9 / @ ? 2 1 A B 9 > < A 7
EŽǁƚŚĞĐŽĚĞďůŽĐŬŝƐĞdžĞĐƵƚĞĚĂŶĚƚŚĞǀĂůƵĞϱŝƐĚŝƐƉůĂLJĞĚŝŶƚŚĞhŶŝƚLJŽŶƐŽůĞ
D
ƐLJŽƵĐĂŶŶŽǁƐĞĞ͕ƚŚĞŶĂŵĞƐŽĨƚŚĞĂƌŐƵŵĞŶƚƐĂŶĚƚŚĞŶĂŵĞƐŽĨƚŚĞƉĂƌĂŵĞƚĞƌƐĚŽŶΖƚ
ŶĞĞĚƚŽďĞƚŚĞƐĂŵĞ͘dŚĞLJΖƌĞũƵƐƚŶĂŵĞƐŽĨǀĂƌŝĂďůĞƐƵƐĞĚŝŶĚŝīĞƌĞŶƚƉůĂĐĞƐŝŶLJŽƵƌĐŽĚĞ͘
dŚĞLJΖƌĞũƵƐƚƐƵďƐƟƚƵƚĞƐĨŽƌƚŚĞĂĐƚƵĂůǀĂůƵĞƐĞĂĐŚĐŽŶƚĂŝŶ͕ĂŶĚŝƚΖƐƚŚĞǀĂůƵĞƚŚĂƚΖƐŐĞƫŶŐ
2 . 9 @ ? E A . . A C E . + F 2 1 A F A 2 1 + C : 9 > > 2 + 2 1 A F A 2 1 + C : + C A = > + : ; D
5HWXUQLQJDYDOXHIURPDPHWKRG
EŽǁŝƚΖƐƟŵĞƚŽĚŝƐĐŽǀĞƌƚŚĞΗƉŽǁĞƌΗĨĞĂƚƵƌĞŽĨƵƐŝŶŐĂŵĞƚŚŽĚ͘dŚŝƐƵƐƵĂůůLJŵĞĂŶƐƐĞŶĚŝŶŐ
ĚĂƚĂƚŽƚŚĞŵĞƚŚŽĚ͕ǁŚŝĐŚLJŽƵũƵƐƚůĞĂƌŶĞĚƚŽĚŽ͕ƚŚĞŶŚĂǀĞƚŚĞŵĞƚŚŽĚƌĞƚƵƌŶĂǀĂůƵĞďĂĐŬ͘
AddTwoNumbers()ŵĞƚŚŽĚĚŽǁĂƐƚĂŬĞƚŚĞƌĞƐƵůƚŽĨĂĚĚŝŶŐƚǁŽ
8 . A B / + < ? > - G 9 > > - + < 1 9 C 2 1 A
ŶƵŵďĞƌƐĂŶĚĚŝƐƉůĂLJŝƚƚŽhŶŝƚLJΖƐŽŶƐŽůĞ͘
EŽǁ͕ŝŶƐƚĞĂĚŽĨĚŝƐƉůĂLJŝŶŐƚŚĞƌĞƐƵůƚĚŝƌĞĐƚůLJ͕LJŽƵΖƌĞŐŽŝŶŐƚŽŵŽĚŝĨLJAddTwoNumbers()
ƚŽƌĞƚƵƌŶƚŚĞƌĞƐƵůƚŽĨƚŚĞĂĚĚŝƟŽŶďĂĐŬƚŽƚŚĞƉůĂĐĞƚŚĞŵĞƚŚŽĚǁĂƐĐĂůůĞĚ͘
[ 50 ]
Ä ¾ Æ Á ä W
ZĞŵĞŵďĞƌ͕/ƚŽůĚLJŽƵƚŚĂƚǁŚĞŶLJŽƵĐĂůůĂŵĞƚŚŽĚ͕ŝƚΖƐũƵƐƚĂƐƵďƐƟƚƵƚĞ
ĨŽƌƚŚĞĐŽĚĞďůŽĐŬƚŚĂƚǁŝůůďĞĞdžĞĐƵƚĞĚ͘/ƚΖƐůŝŬĞƚĂŬŝŶŐĂůůƚŚĞĐŽĚĞŝŶƚŚĞ
ŵĞƚŚŽĚΖƐĐŽĚĞďůŽĐŬĂŶĚƉůĂĐŝŶŐŝƚƌŝŐŚƚƚŚĞƌĞǁŚĞƌĞƚŚĞŵĞƚŚŽĚǁĂƐĐĂůůĞĚ͘
ƐƟůůǀĞƌLJƐŝŵƉůĞ͕ďƵƚŝƚƐŚŽǁƐŚŽǁƚŚŝƐƐƵďƐƟƚƵƟŽŶǁŽƌŬƐĂŶĚ
1 A @ A ì 2 ? : . A A @ ? 1 + 2 / ?
ŚŽǁƌĞƚƵƌŶŝŶŐĂǀĂůƵĞĨƌŽŵĂŵĞƚŚŽĚǁŽƌŬƐ͘
7LPHIRUDFWLRQ²UHWXUQLQJDYDOXHIURP$GG7ZR1XPEHUV
LearningScript AddTwoNumbers()ŵĞƚŚŽĚƚǁŝĐĞĂŶĚŐĞƚĂŐƌĂŶĚ
+ C / E - 2 + : 9 > > 2 1 A
#
ŵĞƚŚŽĚǁŚŽƐĞƐŽůĞƉƵƌƉŽƐĞŝƐƚŽĚŝƐƉůĂLJƚŚĞŐƌĂŶĚƚŽƚĂůƌĞƐƵůƚ͘
2 + 2 9 > D > ? + : . A 9 2 A 9 @ + 2 1 A .
'
ó ô
LearningScript
# , A @ / @ + @ + ¤ A B A > + , 2 + F + C / E - / 2 D
#
KŶůŝŶĞϭϮ͕ĚĞĐůĂƌĞƚŚĞĂŶƐǁĞƌǀĂƌŝĂďůĞ;ƚŚŝƐƐƚĂƚĞŵĞŶƚŝƐŽŶϯůŝŶĞƐͿ͘
õ ô
KŶůŝŶĞƐϭϵƚŽϮϯ͕ƌĞĚĞĮŶĞƚŚĞAddTwoNumbers()ŵĞƚŚŽĚǁŝƚŚĂƌĞƚƵƌŶƚLJƉĞ͘
ö ô
KŶůŝŶĞƐϮϱƚŽϮϴ͕ĚĞĮŶĞƚŚĞDisplayResult()
ô
.
F A 2 1 + C D
^ĂǀĞƚŚĞĮůĞ͘
ô
/
Y ô
* > / : ; + @ 8 > 9 - / @ @ / 2 - D
)
[ 51 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
2 + > A 9 . @ E . + F 2 1 / ? A ì 9 F , > A / ? 2 1 / ? I
tŚĞŶĂŵĞƚŚŽĚƌĞƚƵƌŶƐĂǀĂůƵĞ͕ŝƚΖƐĂƚLJƉĞŽĨĚĂƚĂũƵƐƚůŝŬĞĂǀĂƌŝĂďůĞǁŽƵůĚƐƚŽƌĞ
@ E 9 : 2 G 2 1 A B 9 > < A . A 2 < . @ A C E . + F 9 F A 2 1 + C : + < > C A 9 ? / > - = A ? 2 + . A C / @ 9 B 9 . / 9 = > A
!
ŶĂůLJƐŝƐŽĨƚŚĞĐŽĚĞŝƐĂƐĨŽůůŽǁƐ͗
dŚĞĐŽĚĞŽŶůŝŶĞϭϬĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
void Start()
Start()
@ / 2 - : 9 > > ? 2 1 A F A 2 1 + C + @ : A + @ > - D
)
ŽŶůŝŶĞƐϭϮƚŽϭϰĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗;EŽƚĞ͗/ŚĂǀĞƉƵƚƚŚŝƐ
1 A : + C A
ƐŝŶŐůĞƐƚĂƚĞŵĞŶƚŽŶƚŚƌĞĞůŝŶĞƐĨŽƌĂďĞƩĞƌƐĐƌĞĞŶƐŚŽƚ͘Ϳ
int answer =
AddTwoNumbers(number1, number2) +
AddTwoNumbers(number1, number3);
ůůƚŚŝƐůŝŶĞĚŽĞƐŝƐĂĚĚƚǁŽŶƵŵďĞƌƐĂŶĚƐƚŽƌĞƚŚĞƌĞƐƵůƚŝŶĂǀĂƌŝĂďůĞ
ŶĂŵĞĚΗĂŶƐǁĞƌΗ͘
AddTwoNumbers(number1, number2)ŽŶůŝŶĞϭϵ͘
/ . ? 2 2 1 A . A / ? 9 : 9 > > 2 +
H
number1 number2
1 A 9 . 0 < F A @ 2 ? 9 @ C ? A @ C 2 1 A / @ 2 A 0 A . ? 4 9 @ C 7 2 + 2 1 A F A 2 1 + C
ƉĂƌĂŵĞƚĞƌƐŽŶůŝŶĞϭϵ͘
dŚĞĐŽĚĞŽŶůŝŶĞϭϵĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
int AddTwoNumbers(int firstNumber, int secondNumber);
firstNumber
1 A / @ 2 A 0 A . ? 4 9 @ C 7 9 . A 9 ? ? / 0 @ A C 2 + 2 1 A , 9 . 9 F A 2 A . B 9 . / 9 = > A ?
secondNumber.
9 @ C
dŚĞĐŽĚĞŽŶůŝŶĞϮϭĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
int result = firstNumber + secondNumber;
1 A @ < F = A . ? 4 9 @ C 7 9 . A 9 C C A C 9 @ C ? 2 + . A C / @ 2 1 A C A : > 9 . A C B 9 . / 9 = > A . A ? < > 2 D
[ 52 ]
Ä ¾ Æ Á ä W
dŚĞĐŽĚĞŽŶůŝŶĞϮϮĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
return result;
dŚĞŝŶƚĞŐĞƌϱ͕ƐƚŽƌĞĚŝŶƚŚĞǀĂƌŝĂďůĞƌĞƐƵůƚ͕ŝƐƌĞƚƵƌŶĞĚďĂĐŬƚŽůŝŶĞϭϮ͕ǁŚĞƌĞƚŚĞ
ŵĞƚŚŽĚǁĂƐĐĂůůĞĚ͘
ĂĐŬƚŽƚŚĞĐŽĚĞŽŶůŝŶĞϭϮǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
AddTwoNumbers(number1, number2)͕ŶŽǁƐŝƚƐƚŚĞŝŶƚĞŐĞƌϱ͘
1 A . A - + < ? A A
dŚĞƐƵďƐƟƚƵƟŽŶŚĂƐƚĂŬĞŶƉůĂĐĞ͘
EŽǁ͕ůŝŶĞϭϮĐŽŶƟŶƵĞƐŝƚƐĞdžĞĐƵƟŽŶǁŝƚŚĂŶŽƚŚĞƌĐĂůůƚŽ͗
AddTwoNumbers(number1, number3)ŽŶůŝŶĞϭϵ
dŚĞŽŶůLJĚŝīĞƌĞŶĐĞŝƐƚŚĂƚƚŚĞĂƌŐƵŵĞŶƚƐŚĂǀĞĐŚĂŶŐĞĚ͘
number1 number3ƐĞŶĚƚŚĞŝŶƚĞŐĞƌƐϮĂŶĚϳƚŽƚŚĞŵĞƚŚŽĚ
1 A 9 . 0 < F A @ 2 ? 9 @ C
ƉĂƌĂŵĞƚĞƌƐŽŶůŝŶĞϭϵ͘
ĂĐŬƚŽƚŚĞĐŽĚĞŽŶůŝŶĞϭϵĂŐĂŝŶǁŝƚŚŝƚƐĞdžƉůĂŶĂƟŽŶ͗
dŚĞŝŶƚĞŐĞƌƐϮĂŶĚϳĂƌĞĂƐƐŝŐŶĞĚƚŽƚŚĞƉĂƌĂŵĞƚĞƌǀĂƌŝĂďůĞƐfirstNumber
secondNumber
9 @ C D
dŚĞĐŽĚĞŽŶůŝŶĞϮϭĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
2 7
9 @ C 9 . A 9 C C A C 9 @ C ? 2 + . A C / @ . A ? < > 2 D
dŚĞĐŽĚĞŽŶůŝŶĞϮϮǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
dŚĞŝŶƚĞŐĞƌϵ͕ƐƚŽƌĞĚŝŶƌĞƐƵůƚ͕ŝƐƌĞƚƵƌŶĞĚďĂĐŬƚŽůŝŶĞϭϮ͕ǁŚĞƌĞƚŚĞŵĞƚŚŽĚ
ǁĂƐĐĂůůĞĚ͘
ĂĐŬƚŽƚŚĞĐŽĚĞŽŶůŝŶĞϭϮĂŐĂŝŶǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
AddTwoNumbers(number1, number3)͕ŶŽǁƐŝƚƐƚŚĞŝŶƚĞŐĞƌ9
1 A . A - + < ? A A D
dŚĞƐƵďƐƟƚƵƟŽŶŚĂƐƚĂŬĞŶƉůĂĐĞ͘
EŽǁůŝŶĞϭϮĐŽŶƟŶƵĞƐŝƚƐĞdžĞĐƵƟŽŶ͘dŚĞƌĞŝƐĂƉůƵƐƐŝŐŶďĞƚǁĞĞŶƚŚĞƚǁŽŵĞƚŚŽĚ
ĐĂůůƐǁŚŝĐŚŵĞĂŶƐ5 9 14ŝƐŶŽǁ
9 @ C 9 . A 9 C C A C 2 + 0 A 2 1 A . 9 @ C 2 1 A . A ? < > 2 9 @ 2 / @ 2 A 0 A .
ƐƚŽƌĞĚŝŶƚŚĞǀĂƌŝĂďůĞĂŶƐǁĞƌ͘
Start()ŵĞƚŚŽĚĐŽĚĞďůŽĐŬŶŽǁĐŽŶƟŶƵĞƐĞdžĞĐƵƟŽŶŽŶůŝŶĞϭϲ͘
1 A
dŚĞĐŽĚĞŽŶůŝŶĞϭϲĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
DisplayResult(answer);
DisplayResult()
1 / ? / ? : 9 > > / @ 0 2 1 A F A 2 1 + C + @ > / @ A 4 L D
/ƚƚĂŬĞƐŽŶĞĂƌŐƵŵĞŶƚ͘dŚĞĂƌŐƵŵĞŶƚƵƐĞĚŝƐƚŚĞǀĂƌŝĂďůĞĂŶƐǁĞƌǁŚŝĐŚƐƚŽƌĞƐ
int
9 B 9 > < A + E 2 - , A D
dŚĞĂƌŐƵŵĞŶƚĂŶƐǁĞƌƐĞŶĚƐƚŚĞŝŶƚĞŐĞƌϭϰƚŽƚŚĞŵĞƚŚŽĚƉĂƌĂŵĞƚĞƌŽŶůŝŶĞϮϱ͘
[ 53 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
dŚĞĐŽĚĞŽŶůŝŶĞϮϱǁŝƚŚŝƚƐĚĞƐĐƌŝƉƚŽŶ͗
void DisplayResult(int total)
dŚĞŝŶƚĞŐĞƌϭϰŝƐĂƐƐŝŐŶĞĚƚŽƚŚĞƉĂƌĂŵĞƚĞƌǀĂƌŝĂďůĞƚŽƚĂů͘
dŚĞĐŽĚĞŽŶůŝŶĞϮϳĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
Debug.Log("The grand total is: " + total);
ŽŶƐŽůĞŝŶĐůƵĚĞƐĂůŝƩůĞƉĞĞŬŝŶƚŽƚŚĞŶĞdžƚĐŚĂƉƚĞƌ͘
1 / ? + < 2 , < 2 2 + 2 1 A @ / 2 -
)
^ŽŵĞƚĞdžƚŝƐĚŝƐƉůĂLJĞĚĂƐǁĞůůĂƐƚŚĞǀĂůƵĞƐƚŽƌĞĚŝŶƚŚĞǀĂƌŝĂďůĞƚŽƚĂů͘
ŽŶƐŽůĞ dŚĞŐƌĂŶĚƚŽƚĂůŝƐ͗ϭϰ
1 A @ / 2 - C / ? , > 9 - ? D
)
Start()ŵĞƚŚŽĚŝƐĚŽŶĞĞdžĞĐƵƟŶŐŝƚƐĐŽĚĞ͘^ŝŶĐĞƚŚĞƌĞŝƐŶŽĨƵƌƚŚĞƌĐŽĚĞ
1 A
LearningScript
/ @ 2 + A ì A : < 2 A G 2 1 A ? : . / , 2 / ? C + @ A D
+DYHDJRKHUR²DGGWZRPRUHQXPEHUVWRJHWKHU
number2
. - F + C / E - / @ 0 > / @ A 6 4 2 + 9 C C 2 1 A @ < F = A . ? 2 + 0 A 2 1 A . 2 1 9 2 9 . A ? 2 + . A C / @ 2 1 A B 9 . / 9 = > A ?
number3͘zŽƵǁŝůůŚĂǀĞƚŽŝŶĐůƵĚĞĂŶĂĚĚŝƟŽŶĂůĐĂůůƚŽAddTwoNumbers()
9 @ C D 1 A . A ? < > 2 / @
ŽŶƐŽůĞ dŚĞŐƌĂŶĚƚŽƚĂůŝƐ͗Ϯϰ
2 1 A ? 1 + < > C = A D
ŵĞƚŚŽĚƐ͕ƐĞĞƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚĨŽƌŽƚŚĞƌƐ͘/ůŝŬĞƚŽĐĂůůƚŚĞƐĞhŶŝƚLJΖƐŵĂŐŝĐŵĞƚŚŽĚƐ
ďĞĐĂƵƐĞLJŽƵĚŽŶΖƚĐĂůůƚŚĞƐĞŵĞƚŚŽĚƐ͕hŶŝƚLJĚŽĞƐ͘/ƚΖƐƵƐƵĂůůLJŝŵƉŽƌƚĂŶƚƚŚĂƚĂƚůĞĂƐƚŽŶĞ
MonoBehaviour
F A 2 1 + C / ? / @ : > < C A C / @ 9 @ / 2 - ? : . / , 2 2 + : 9 < ? A 2 1 A ? : . / , 2 2 + A ì A : < 2 A D ? 9 -
) !
,ŽǁĚŽ/ŬŶŽǁƚŚĞƐĞƚǁŽŵĞƚŚŽĚƐĂƌĞĐĂůůĞĚďLJhŶŝƚLJĂŶĚƚŚĂƚƚŚĞLJĂƌĞMonoBehaviour
ŵĞƚŚŽĚƐ͍,ĞƌĞ͕ƚŚĞhŶŝƚLJ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ
/ ? - + < . E . / A @ C D
[ 54 ]
Ä ¾ Æ Á ä W
,ĞƌĞΖƐũƵƐƚĂƉŽƌƟŽŶŽĨƚŚĞŵĞƚŚŽĚƐhŶŝƚLJĐĂŶĐĂůůŝŶĂƐĐƌŝƉƚ͘dŚŝƐŝƐĨƌŽŵƚŚĞ^ĐƌŝƉƟŶŐ
MonoBehavior
D O < ? 2 ? A 9 . : 1 E + . I
$
%
>ŽŽŬĂƚůŝŶĞϰŽĨ>ĞĂƌŶŝŶŐ^ĐƌŝƉƚ
I
LearningScript MonoBehaviour
1 / ? > / @ A ? 9 - ? 2 1 9 2 / @ 1 A . / 2 ? E . + F D @ - ? : . / , 2 2 1 9 2 / @ 1 A . / 2 ?
'
MonoBehaviourǁŝůůĂƵƚŽŵĂƟĐĂůůLJĐĂůůƚŚĞŵĞƚŚŽĚƐUpdate() Start()
E . + F 9 @ C / E 2 1 A - 9 . A
ŝŶƚŚĞƐĐƌŝƉƚ͘dŚĞƌĞĨŽƌĞ͕ŝĨLJŽƵǁĂŶƚ͕LJŽƵĐĂŶĐƌĞĂƚĞĂƐĐƌŝƉƚŝŶDŽŶŽĞǀĞůŽƉŝŶƐƚĞĂĚŽĨhŶŝƚLJ͕
MonoBehavior : MonoBehaviourĂŌĞƌƚŚĞĐůĂƐƐŶĂŵĞ͘
< ? 2 1 9 B A / 2 / @ 1 A . / 2 E . + F = - 9 C C / @ 0 I
WůĞĂƐĞŶŽƟĐĞƚŚĞĐŽůŽŶ
ú ü ÿ ý ü
ŝŶŝƟĂůŝnjĞ͕ŽƌƐĞƚƵƉ͕ƚŚĞŵĞŵďĞƌǀĂƌŝĂďůĞƐŝŶLJŽƵƌƐĐƌŝƉƚ͘dŚŝƐĂůůŽǁƐĞǀĞƌLJƚŚŝŶŐŝŶLJŽƵƌƐĐƌŝƉƚ
Update()ŝƐĐĂůůĞĚĨŽƌƚŚĞĮƌƐƚƟŵĞ͘
2 + = A . A 9 C - 2 + 0 + = A E + . A
zŽƵΖǀĞƉƌŽďĂďůLJŶŽƟĐĞĚ LearningScript
9 . A F 9 ; / @ 0
2 1 9 2 F 9 @ - + E 2 1 A A ì 9 F , > A ? < ? A C / @
!
Start()͘dŚĞƐĞĞdžĂŵƉůĞƐǁĞƌĞŶΖƚŝŶŝƟĂůŝnjŝŶŐĂŶLJĐŽĚĞ͕/ǁĂƐũƵƐƚƚĂŬŝŶŐĂĚǀĂŶƚĂŐĞ
< ? A + E
Start()ŝƐŽŶůLJĐĂůůĞĚŽŶĐĞ͕ĚŝƐƉůĂLJŝŶŐŽƵƚƉƵƚƚŽƚŚĞŽŶƐŽůĞǁŽƵůĚ͕
+ E 2 1 A E 9 : 2 2 1 9 2 ? / @ : A
ƚŚĞƌĞĨŽƌĞ͕ŽŶůLJďĞĚŝƐƉůĂLJĞĚŽŶĐĞ͕ǁŚŝĐŚũƵƐƚŵĂĚĞŝƚĞĂƐŝĞƌƚŽƐĞĞƚŚĞŽƵƚƉƵƚĚŝƐƉůĂLJĞĚ͘
Update()
+ E 2 1 A : + C A / ? / @ 2 1 A F A 2 1 + C D ? - + < . 0 9 F A . < @ ? G 2 1 A J : A @ A / ? C / ? , > 9 - A C F 9 @ -
'
Update()
2 1 A F A 2 1 + C / ? : 9 > > A C = - @ / 2 - 2 + . < @ - + < . : + C A D
)
[ 55 ]
'ĞƫŶŐŝŶƚŽƚŚĞĞƚĂŝůƐŽĨDĞƚŚŽĚƐ
Update() ĐĂůůĞĚĞǀĞƌLJĨƌĂŵĞ͕ŝƚĂůůŽǁƐLJŽƵƌŐĂŵĞƚŽĚĞƚĞĐƚŝŶƉƵƚ͕ƐƵĐŚĂƐŵŽƵƐĞ
J / @ : A / ?
ĐůŝĐŬƐĂŶĚŬĞLJƉƌĞƐƐĞƐ͕ĞǀĞƌLJĨƌĂŵĞ͘hƐĞƌŝŶƉƵƚŝƐŽŶĞŽĨƚŚĞƚŽƉŝĐƐǁĞĂƌĞĂďŽƵƚƚŽĐŽǀĞƌŝŶ
2 1 A @ A ì 2 : 1 9 , 2 A . D
3RSTXL]²XQGHUVWDQGLQJPHWKRGRSHUDWLRQ
Yϭ͘tŚĂƚĂƌĞƚŚĞŵŝŶŝŵƵŵƌĞƋƵŝƌĞŵĞŶƚƐĨŽƌĚĞĮŶŝŶŐĂŵĞƚŚŽĚ͍
YϮ͘tŚĂƚŝƐƚŚĞƉƵƌƉŽƐĞŽĨƚŚĞƉĂƌĞŶƚŚĞƐĞƐĂƚƚŚĞĞŶĚŽĨƚŚĞŵĞƚŚŽĚΖƐŶĂŵĞ͍
Yϯ͘tŚĂƚĚŽĞƐǀŽŝĚŵĞĂŶŝŶĂŵĞƚŚŽĚĚĞĮŶŝƟŽŶ͍
Yϰ͘/ŶĂhŶŝƚLJƐĐƌŝƉƚ͕ŚŽǁŝƐƚŚĞUpdate()ĐĂůůĞĚ͍
Summary
/ŶƚŚŝƐĐŚĂƉƚĞƌ͕ǁĞůĞĂƌŶĞĚƚŚĂƚĂŵĞƚŚŽĚĚĞĮŶŝƟŽŶĞŶĚƐǁŝƚŚĂĐŽĚĞďůŽĐŬďĞƚǁĞĞŶƚǁŽ
ĐƵƌůLJďƌĂĐĞƐ͕ŶŽƚǁŝƚŚĂƐĞŵŝĐŽůŽŶ͘dŚĞƉĂƌĞŶƚŚĞƐĞƐĂƌĞƉĂƌƚŽĨĂŵĞƚŚŽĚΖƐŶĂŵĞ͘tĞĂůƐŽ
ůĞĂƌŶĞĚŚŽǁƚŽĐĂůůĂŵĞƚŚŽĚŝŶƚŽĂĐƟŽŶ͕ŚŽǁƚŽƵƐĞĚĂƚĂƌĞƚƵƌŶĞĚĨƌŽŵĂŵĞƚŚŽĚ͕ĂŶĚ
ƚŚĂƚhŶŝƚLJĐĂůůƐƐŽŵĞŵĞƚŚŽĚƐĂƵƚŽŵĂƟĐĂůůLJ͕ƐƵĐŚĂƐƚŚĞStart() Update()
9 @ C F A 2 1 + C ? G
ǁŚĞŶƚŚĞƐĐƌŝƉƚŝŶŚĞƌŝƚƐĨƌŽŵƚŚĞMonoBehaviour
: > 9 ? ? D
zŽƵŶŽǁŬŶŽǁƚŚĞƚǁŽŵĂũŽƌďƵŝůĚŝŶŐďůŽĐŬƐŽĨƐĐƌŝƉƟŶŐ͕ǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͘&ƌŽŵŶŽǁ
ŽŶ͕ĞǀĞƌLJƚŚŝŶŐĞůƐĞLJŽƵĚŽǁŝůůũƵƐƚďĞŵĂŬŝŶŐƵƐĞŽĨǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͘EŽǁƚŚĂƚLJŽƵ
ƵŶĚĞƌƐƚĂŶĚƚŚĞƐĞƚǁŽďƵŝůĚŝŶŐďůŽĐŬƐ͕LJŽƵĂƌĞƌĞĂĚLJĨŽƌƚŚĞŶĞdžƚĐŚĂƉƚĞƌƚŚĂƚĚĞĂůƐǁŝƚŚ
F 9 ; / @ 0 C A : / ? / + @ ? / @ - + < . : + C A D
[ 56 ]
Making Decisions in Code
5
KŶĞŽĨƚŚĞƉƌŝŵĂƌLJĚƵƚŝĞƐŽĨĂĐŽŵƉƵƚĞƌŝƐĐŽŶƚƌŽůůŝŶŐǁŚĂƚŚĂƉƉĞŶƐŶĞdžƚ
ǁŚĞŶĐĞƌƚĂŝŶĐŽŶĚŝƚŝŽŶƐĂƌĞŵĞƚ͘dŚĂƚΖƐǁŚĂƚĐŽŵƉƵƚĞƌƐĚŽǁŚĞƚŚĞƌƚŚĞĐŽĚĞ
ŝƐĐŽŶƚƌŽůůŝŶŐĂŶĂƉƉůŝĐĂƚŝŽŶŽƌĂŐĂŵĞ͘tĞǁƌŝƚĞƐĐƌŝƉƚƐƚŽŵĂŬĞ'ĂŵĞKďũĞĐƚƐ
ďĞŚĂǀĞĂĐĞƌƚĂŝŶǁĂLJŽŶĞŵŽŵĞŶƚ͕ƚŚĞŶƚŚĞďĞŚĂǀŝŽƌƐŚŽƵůĚĐŚĂŶŐĞǁŚĞŶƚŚĞ
ĐŽŶĚŝƚŝŽŶƐĐŚĂŶŐĞ͘ƐĐƌŝƉƚŚĂƐƚŽĚĞƚĞĐƚǁŚĞŶƚŚĞĐŽŶĚŝƚŝŽŶƐĐŚĂŶŐĞ͕ƚŚĞŶ
ŵĂŬĞƚŚĞĂƉƉƌŽƉƌŝĂƚĞĐŽĚĞĞdžĞĐƵƚĞďĂƐĞĚŽŶƚŚĞŶĞǁĐŽŶĚŝƚŝŽŶƐ͘dŚŝƐĐŚĂƉƚĞƌ
ůŽŽŬƐĂƚƐŽŵĞĞdžĂŵƉůĞƐŽĨƚŚĞǁĂLJƐƚŚĂƚĐŽŶĚŝƚŝŽŶƐĐĂŶĐŚĂŶŐĞ͕ĂŶĚƚŚĞĐŽĚĞ
ƚŽĚĞƚĞĐƚƚŚĞƐĞĐŚĂŶŐĞƐ͘dŚŝƐŝŶƚƵƌŶĚĞƚĞƌŵŝŶĞƐǁŚŝĐŚĐŽĚĞŝŶƚŚĞƐĐƌŝƉƚŝƐ
ĞdžĞĐƵƚĞĚŶĞdžƚ͘
/ŶƚŚŝƐĐŚĂƉƚĞƌǁĞǁŝůůĚŝƐĐƵƐƐ͗
E ? 2 9 2 A F A @ 2 C A : / ? / + @ ?
!
ŚĞĐŬŝŶŐĨŽƌŵĂŶLJĐŽŶĚŝƟŽŶƐ
E A > ? A ? 2 9 2 A F A @ 2 C A : / ? / + @ ?
! (
hƐĞƌΖƐŝŶƉƵƚĐŽŶĚŝƟŽŶĐŚĂŶŐĞƐ
>ŽŽƉŝŶŐƚŚŽƵŐŚĚĂƚĂŝŶĂŶƌƌĂLJ͕>ŝƐƚ͕ŽƌŝĐƟŽŶĂƌLJ
>ĞƚΖƐďĞŐŝŶ͘͘͘
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
7HVWLQJFRQGLWLRQVZLWKDQLIVWDWHPHQW
E G / E G / E D E C + 2 1 / ? \ / E C + 2 1 9 2 \ 1 9 2 1 9 , , A @ ? / E \
! ! ! !
LJŽƵΖǀĞŚĂĚƚŽŵĂŬĞĚĞĐŝƐŝŽŶƐĂďŽƵƚĂůůŬŝŶĚƐŽĨƚŚŝŶŐƐŝŶLJŽƵƌůŝĨĞĞǀĞƌLJĚĂLJ͘tĞĂůů
* A . 2 9 / @ > -
ĚŽŝƚĂůůƚŚĞƟŵĞǁŝƚŚŽƵƚĂĐƚƵĂůůLJŐŝǀŝŶŐƚŚĞƉƌŽĐĞƐƐŽĨŵĂŬŝŶŐĂĚĞĐŝƐŝŽŶŵƵĐŚƚŚŽƵŐŚƚ͕ŝĨ
ĂŶLJ͘ƐǁĞŵĂŬĞĚĂŝůLJĚĞĐŝƐŝŽŶƐ͕ŵŽƐƚŽĨƚŚĞƟŵĞǁĞũƵƐƚĚŽƚŚĞĚĞĐŝƐŝŽŶƉƌŽĐĞƐƐŝŶŐŝŶŽƵƌ
ŚĞĂĚ͘hŶŝƚLJĚŽĞƐŶΖƚŚĂǀĞƚŚĂƚŚƵŵĂŶůƵdžƵƌLJ͕ƐŽǁĞŚĂǀĞƚŽǁƌŝƚĞŝƚŽƵƚƐŽhŶŝƚLJĐĂŶŬŶŽǁ
ƚŚĞĐŽŶĚŝƟŽŶƐƚŚĂƚůĞĂĚƚŽĐĞƌƚĂŝŶĐŚŽŝĐĞƐ͘,ĂǀŝŶŐƚŽǁƌŝƚĞƚŚĞůŽŐŝĐŝƐƚŚĞƐƚƌĂŶŐĞƉĂƌƚŽĨ
ǁƌŝƟŶŐĐŽĚĞĨŽƌďĞŐŝŶŶĞƌƐ͕ƐŝŵƉůLJďĞĐĂƵƐĞƉĞŽƉůĞƵƐƵĂůůLJŵĂŬĞƚŚĞǀĂƐƚŵĂũŽƌŝƚLJŽĨĚĞĐŝƐŝŽŶ
ǁŝƚŚŽƵƚǁƌŝƟŶŐĂŶLJƚŚŝŶŐĚŽǁŶĮƌƐƚ͘,ŽǁĞǀĞƌ͕ŝƚŝƐǀĞƌLJƐŝŵƉůĞƚŽĚŽ͘
ƚŚĞŵŽƐƚĐŽŵŵŽŶǁĂLJ'ĂŵĞKďũĞĐƚƐŵĂŬĞĚĞĐŝƐŝŽŶƐ͘ĂƚĂƵƐĞĚƚŽŵĂŬĞ
if
@ ? 2 9 2 A F A @ 2 / ?
'
ƚŚĞƐĞĚĞĐŝƐŝŽŶƐŝƐƚŚĞŝŶĨŽƌŵĂƟŽŶƵƐƵĂůůLJƐƚŽƌĞĚŝŶƐŽŵĞǀĂƌŝĂďůĞƐ͘&ŽƌĂŶŝĨƐƚĂƚĞŵĞŶƚŝƚΖƐĂƐ
ĞĂƐLJĂƐƐĂLJŝŶŐΗ/ĨŵLJĐŽŶĚŝƟŽŶŝƐŵĞƚ͕ƚŚĞŶĞdžĞĐƵƚĞŵLJĐŽĚĞďůŽĐŬ͘Η
7HVWLQJLIFRQGLWLRQVDUHWUXHRUIDOVH
ĐŽŶĚŝƟŽŶƐƚŚĂƚĐĂŶďĞƚƌƵĞŽƌĨĂůƐĞ͗
? 9 F , > / @ 0 + E
'
dŚĞƵƐĞƌƉƌĞƐƐĞĚĂďƵƩŽŶ
1 A 2 A F , A . 9 2 < . A / ? : + > C
1 A : 1 9 . 9 : 2 A . C / A C
dŚĞďĞĂƌŵĂĚĞďŝŐƉŽƩLJŝŶƚŚĞǁŽŽĚƐ
'ĞŶĞƌĂůƋƵĞƐƟŽŶƐůŝŬĞƚŚĞƐĞĂƌĞĂŶƐǁĞƌĞĚďLJŚƵŵĂŶƐ͕ƵƐƵĂůůLJ͕ǁŝƚŚĞŝƚŚĞƌĂLJĞƐŽƌŶŽ͘&Žƌ
hŶŝƚLJ͕ƚŚĞĂŶƐǁĞƌƐǁŝůůďĞĞŝƚŚĞƌƚƌƵĞŽƌĨĂůƐĞ͘&ŽƌĞdžĂŵƉůĞ͗ΗƚŚĞďĞĂƌŵĂĚĞďŝŐƉŽƩLJŝŶƚŚĞ
ǁŽŽĚƐΗŝƐĞŝƚŚĞƌƚƌƵĞ͕ŽƌĨĂůƐĞ͘
7LPHIRUDFWLRQ²FUHDWHDFRXSOHRILIVWDWHPHQWV
ƐƚĂƚĞŵĞŶƚƐǁŽƌŬďLJĚĞƚĞƌŵŝŶŝŶŐǁŚĞƚŚĞƌĂĐŽŶĚŝƟŽŶŝŶƐŝĚĞĂƉĂŝƌŽĨƉĂƌĞŶƚŚĞƐĞƐŝƐ
1 A
" %
2 . < A + . E 9 > ? A D
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
^ĂǀĞƚŚĞĮůĞ͘
õ ô
ö ô
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
[ 58 ]
Ä ¾ Æ Á ä ]
* + C A 9 @ 9 > - ? / ? I
dŚĞĐŽĚĞŽŶůŝŶĞϴŝƐĂƐĨŽůůŽǁƐ͗
bool theBearMadeBigPottyInTheWoods = true;
true
1 / ? + + > A 9 @ B 9 . / 9 = > A / ? C A : > 9 . A C 9 @ C 9 ? ? / 0 @ A C 2 1 A B 9 > < A + E D
ŽŶůŝŶĞϭϬĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
1 A : + C A
if( theBearMadeBigPottyInTheWoods)
ifƐƚĂƚĞŵĞŶƚƚŽƚĞƐƚŝĨƚŚĞĐŽŶĚŝƟŽŶďĞƚǁĞĞŶƚŚĞƉĂƌĞŶƚŚĞƐŝƐŝƐtrue false
@ + . D
'
theBearMadeBigPottyInTheWoods true
1 A B 9 . / 9 = > A / ? ? 2 + . / @ 0 9 B 9 > < A G
ƚŚĞƌĞĨŽƌĞ͘dŚĞĐŽĚĞďůŽĐŬŽŶůŝŶĞƐϭϭƚŽϭϯŝƐĞdžĞĐƵƚĞĚ͕ĂƐƐŚŽǁŶŝŶƚŚĞ
ŽŶƐŽůĞ
? : . A A @ ? 1 + 2 D
[ 59 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
dŚĞĐŽĚĞŽŶůŝŶĞϭϱĂůŽŶŐǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
theBearMadeBigPottyInTheWoods = false;
false theBearMadeBigPottyInTheWoods
? ? / 0 @ ? 2 1 A B 9 > < A 2 + D
'
dŚĞĐŽĚĞŽŶůŝŶĞϭϳǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
if( ! theBearMadeBigPottyInTheWoods)
ŶŽƚŚĞƌŝĨƐƚĂƚĞŵĞŶƚ͕ďƵƚƚŚŝƐƟŵĞtheBearMadeBigPottyInTheWoods
/ ? E 9 > ? A D
,ŽǁĞǀĞƌ͕ƚŚĞƌĞΖƐĂEKdůŽŐŝĐĂůŽƉĞƌĂƚŽƌŝŶĨƌŽŶƚŽĨƚŚĞǀĂƌŝĂďůĞ͘^ĞĞƚŚĞĞdžĐůĂŵĂƟŽŶ
ŵĂƌŬŝŶƚŚĞƌĞĚĐŝƌĐůĞƐŚŽǁŶŝŶƚŚĞƉƌĞǀŝŽƵƐƐĐƌĞĞŶƐŚŽƚ͘
dŚŝƐŵĞĂŶƐƚŚĞŝĨƐƚĂƚĞŵĞŶƚĐŽŶĚŝƟŽŶŝƐEKdĨĂůƐĞ͕ǁŚŝĐŚŝƐƚŚĞƐĂŵĞĂƐƐĂLJŝŶŐ
ƚƌƵĞ͘dŚĞƌĞĨŽƌĞƚŚĞĐŽĚĞďůŽĐŬŽŶůŝŶĞƐϭϴƚŽϮϬǁŝůůďĞĞdžĞĐƵƚĞĚ͕ĂƐƐŚŽǁŶŝŶ
2 1 A * + @ ? + > A ? : . A A @ ? 1 + 2
dŚĞĐŽĚĞďůŽĐŬŽŶůŝŶĞƐϭϴƚŽϮϬǁŝůůďĞĞdžĞĐƵƚĞĚ͕ĂƐƐŚŽǁŶŝŶƚŚĞŽŶƐŽůĞƐĐƌĞĞŶƐŚŽƚ
/ĐĂŶĂůƌĞĂĚLJŚĞĂƌLJŽƵƌƋƵĞƐƟŽŶ͕ǁŚLJŶŽƚũƵƐƚĐŚĞĐŬĨŽƌƚƌƵĞ͍ƐLJŽƵǁŝůůĚŝƐĐŽǀĞƌǁŚĞŶ
ǁƌŝƟŶŐŝĨƐƚĂƚĞŵĞŶƚƐ͕LJŽƵŶĞĞĚƚŽďĞĂďůĞƚŽŵĂŬĞĚĞĐŝƐŝŽŶƐďĂƐĞĚŽŶǁŚĞƚŚĞƌĂĐŽŶĚŝƟŽŶ
ŝƐƚƌƵĞ͕ŽƌŝĨƚŚĞĐŽŶĚŝƟŽŶŝƐĨĂůƐĞ͘zŽƵǁĂŶƚƚŚĞŽƉƟŽŶƚŽĞdžĞĐƵƚĞĂĐŽĚĞďůŽĐŬĨŽƌĞŝƚŚĞƌŽĨ
ƚŚĞƐĞƚǁŽĐŽŶĚŝƟŽŶƐ͘&ŽƌĞdžĂŵƉůĞ͕LJŽƵŵĂLJǁĂŶƚƚŽĞdžĞĐƵƚĞƐŽŵĞĐŽĚĞďĂƐĞĚŽŶǁŚĞƚŚĞƌ
ĂƵƐĞƌĚŝĚŶΖƚƉƌĞƐƐĂďƵƩŽŶĂƚĂƉĂƌƟĐƵůĂƌƟŵĞ͘/ĨƚŚĞƵƐĞƌĚŝĚŶŽƚƉƌĞƐƐƚŚĞďƵƩŽŶ͕ƚŚĞŶ
A ì A : < 2 A 2 1 A : + C A = > + : ; D
&KHFNLQJPDQ\FRQGLWLRQVLQDQLIVWDWHPHQW
^ŽŵĞƟŵĞƐLJŽƵǁŝůůǁĂŶƚLJŽƵƌŝĨƐƚĂƚĞŵĞŶƚƐƚŽĐŚĞĐŬŵĂŶLJĐŽŶĚŝƟŽŶƐďĞĨŽƌĞĂŶLJĐŽĚĞďůŽĐŬ
dŚŝƐŝƐǀĞƌLJĞĂƐLJƚŽĚŽ͘dŚĞƌĞĂƌĞƚǁŽŵŽƌĞůŽŐŝĐĂůŽƉĞƌĂƚŽƌƐƚŚĂƚLJŽƵĐĂŶƵƐĞ͗
/ ? A ì A : < 2 A C D
E͗/ƚŝƐƵƐĞĚďLJƉƵƫŶŐ&&ďĞƚǁĞĞŶƚŚĞĐŽŶĚŝƟŽŶƐďĞŝŶŐĐŚĞĐŬĞĚ͘
KZ͗/ƚŝƐƵƐĞĚďLJƉƵƫŶŐ||ďĞƚǁĞĞŶƚŚĞĐŽŶĚŝƟŽŶƐďĞŝŶŐĐŚĞĐŬĞĚ͘
7LPHIRUDFWLRQ²FUHDWHLIVWDWHPHQWVZLWKPRUHWKDQRQH
condition to check
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
^ĂǀĞƚŚĞĮůĞ͘
õ ô
ö ô
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
[ 60 ]
Ä ¾ Æ Á ä ]
EŽƟĐĞůŝŶĞϭϭŝƐƵƐŝŶŐƚŚĞEŽƉĞƌĂƚŽƌ͕ĂŶĚůŝŶĞϭϲŝƐ
ÿ ý ü þ ^ _ û ú û
* + C A 9 @ 9 > - ? / ? I
ŽŶůŝŶĞϴĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
1 A : + C A
bool true
B 9 . / 9 = > A / ? C A : > 9 . A C 9 @ C 9 ? ? / 0 @ A C 2 1 A B 9 > < A + E D
'
dŚĞĐŽĚĞŽŶůŝŶĞϵǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
int temperature = 40;
int 40
@ B 9 . / 9 = > A / ? C A : > 9 . A C 9 @ C 9 ? ? / 0 @ A C 2 1 A B 9 > < A D
'
[ 61 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
dŚĞĐŽĚĞŽŶůŝŶĞϭϭǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
if(temperature >= 35 && theBearMadeBigPottyInTheWoods)
ifƐƚĂƚĞŵĞŶƚƚŽƚĞƐƚŝĨďŽƚŚĐŽŶĚŝƟŽŶƐĂƌĞtrue
@ D
'
dŚĞĮƌƐƚƚĞƐƚŝƐĐŚĞĐŬŝŶŐŝĨƚŚĞtemperature 35
/ ? 0 . A 9 2 A . 2 1 A @ G + . A < 9 > 2 + G D
temperature 40͕ƐŽƚŚŝƐĐŽŶĚŝƟŽŶŝƐƚƌƵĞ͘
1 A B 9 > < A ? 2 + . A C / @ / ?
theBearMadeBigPottyInTheWoodsŝƐƚƌƵĞ͘dŚĞƌĞĨŽƌĞƚŚĞĮƌƐƚ
1 A B 9 > < A ? 2 + . A C / @
ĐŽŶĚŝƟŽŶĂŶĚƚŚĞƐĞĐŽŶĚĐŽŶĚŝƟŽŶĂƌĞƚƌƵĞ͕ƐŽƚŚĞĐŽĚĞďůŽĐŬĞdžĞĐƵƚĞƐ͘
dŚĞĐŽĚĞŽŶůŝŶĞϭϲǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
if(temperature >= 35 || theBearMadeBigPottyInTheWoods)
ifƐƚĂƚĞŵĞŶƚƚŽƚĞƐƚŝĨĞŝƚŚĞƌŽĨƚŚĞĐŽŶĚŝƟŽŶƐĂƌĞƚƌƵĞ͘
@
'
tĞĂůƌĞĂĚLJŬŶŽǁƚŚĂƚďŽƚŚƚŚĞĐŽŶĚŝƟŽŶƐĂƌĞƚƌƵĞ͕ĂŶĚĞŝƚŚĞƌƚŚĞĮƌƐƚĐŽŶĚŝƟŽŶ
ŽƌƚŚĞƐĞĐŽŶĚĐŽŶĚŝƟŽŶŶĞĞĚƐƚŽďĞƚƌƵĞ͘dŚĞƌĞĨŽƌĞƚŚĞĐŽĚĞďůŽĐŬǁŝůůĞdžĞĐƵƚĞ͘
+DYHDJRKHUR²FKDQJHWKHYDOXHDVVLJQHGWRWHPSHUDWXUH
temperatureƚŽĂůŽǁĞƌǀĂůƵĞƐƵĐŚĂƐ30 ifƐƚĂƚĞŵĞŶƚƐǁŝůů
. - : 1 9 @ 0 / @ 0 D # @ > - + @ A + E 2 1 A
= A 2 . < A I
dŚĞĨŽůůŽǁŝŶŐŝƐƚŚĞĂŶĂůLJƐŝƐŽĨĐŽĚĞ͗
ŽŶůŝŶĞϭϭĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
1 A : + C A
KŶůLJŽŶĞŽĨƚŚĞĐŽŶĚŝƟŽŶƐŝƐŶŽǁƚƌƵĞ͕ĂƐϯϬŝƐŶŽƚŐƌĞĂƚĞƌƚŚĞŶ͕ŽƌĞƋƵĂůƚŽ͕ϯϱ͘
dŚĞƌĞĨŽƌĞƚŚĞĮƌƐƚĐŽŶĚŝƟŽŶŝƐĨĂůƐĞ͘^ŝŶĐĞďŽƚŚĐŽŶĚŝƟŽŶƐŚĂǀĞƚŽďĞƚƌƵĞ͕ƚŚĞ
: + C A = > + : ; C + A ? @ + 2 A ì A : < 2 A D
[ 62 ]
Ä ¾ Æ Á ä ]
dŚĞĐŽĚĞŽŶůŝŶĞϭϲĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
if(temperature >= 35 || theBearMadeBigPottyInTheWoods)
KŶůLJŽŶĞŽĨƚŚĞĐŽŶĚŝƟŽŶƐŝƐŶŽǁƚƌƵĞ͘
ϯϬŝƐŶŽƚŐƌĞĂƚĞƌƚŚĞŶŽƌĞƋƵĂůƚŽϯϱ͕ƚŚĞƌĞĨŽƌĞƚŚĞĮƌƐƚĐŽŶĚŝƟŽŶŝƐĨĂůƐĞ͘
dŚĞƐĞĐŽŶĚĐŽŶĚŝƟŽŶŝƐƚƌƵĞ͘
^ŝŶĐĞŽŶůLJŽŶĞŽĨƚŚĞƚǁŽĐŽŶĚŝƟŽŶƐŚĂƐƚŽďĞƚƌƵĞ͕ĚŽĞƐŶΖƚŵĂŬĞĂŶLJĚŝīĞƌĞŶĐĞ
ǁŚŝĐŚŽŶĞ͕ƚŚĞĐŽĚĞďůŽĐŬĞdžĞĐƵƚĞƐ͘
+DYHDJRKHUR²FKDQJHWKH%HDU0DGH%LJ3RWW\,Q7KH:RRGVWRIDOVH
EŽǁĐŚĂŶŐĞ theBearMadeBigPottyInTheWoodsƚŽĨĂůƐĞĂƐǁĞůů͘EŽǁLJŽƵƐĞĞƚŚĂƚ
ŶĞŝƚŚĞƌŽĨƚŚĞŝĨƐƚĂƚĞŵĞŶƚƐǁŝůůĞdžĞĐƵƚĞƚŚĞŝƌĐŽĚĞďůŽĐŬƐ͘
8VLQJDQLIHOVHVWDWHPHQWWRH[HFXWHDOWHUQDWHFRGH
ifƐƚĂƚĞŵĞŶƚƐŚĂǀĞŶĞĞĚĞĚĐĞƌƚĂŝŶĐŽŶĚŝƟŽŶƐƚŽďĞtrue
J + E 9 . G 2 1 A E + . 2 1 A : + C A = > + : ; 2 +
ŽƉƟŽŶƚŚĂƚĂůůŽǁƐLJŽƵƚŽŚĂǀĞĂŶĂůƚĞƌŶĂƚĞĐŽĚĞďůŽĐŬĞdžĞĐƵƚĞǁŚĞŶ
A ì A : < 2 A D 1 A . A / ? 9 @
ifƐƚĂƚĞŵĞŶƚĐŽŶĚŝƟŽŶƐĂƌĞfalse
2 1 A D
/ĨŵLJĐŽŶĚŝƟŽŶƐĂƌĞŵĞƚ͕ĞdžĞĐƵƚĞƚŚĞĨŽůůŽǁŝŶŐĐŽĚĞďůŽĐŬ͕ĞůƐĞĞdžĞĐƵƚĞƚŚĞ
9 > 2 A . @ 9 2 A : + C A = > + : ;
dŚŝƐŝƐǀĞƌLJƐŝŵƉůĞĐŽŶĐĞƉƚ͕ũƵƐƚůŝŬĞĂůŝƩůĞŬŝĚƐĂLJŝŶŐ͗Η/ĨLJŽƵŐŝǀĞŵĞĂŶŝĐĞ
ĐƌĞĂŵĐŽŶĞ͕/ΖůůďĞŶŝĐĞ͕ĞůƐĞ/ΖŵŐŽŝŶŐƚŽďĞŶĂƵŐŚƚLJ͘Η
7LPHIRUDFWLRQ²DGGHOVHWRWKHLIVWDWHPHQW
ŝĨͲĞůƐĞƐƚĂƚĞŵĞŶƚƐ ŝĨƐƚĂƚĞŵĞŶƚƐǁŝƚŚƚŚĞelseŽƉƟŽŶĂĚĚĞĚ͘
9 . A < ? 2 > / ; A . A 0 < > 9 .
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
^ĂǀĞƚŚĞĮůĞ͘
õ ô
[ 63 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
ö ô
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
>ŝŶĞϭϰƐŚŽǁƐŚŽǁelse͕ĂŶĚŝƚƐĐŽĚĞďůŽĐŬŝƐƐŝŵƉůLJĂĚĚĞĚĂŌĞƌƚŚĞif
: + C A = > + : ; D
dŚĞĐŽĚĞŽŶůŝŶĞϴĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
bool theBearMadeBigPottyInTheWoods = false;
theBearMadeBigPottyInTheWoods
1 A B 9 . / 9 = > A / ? 9 ? ? / 0 @ A C 2 1 A B 9 > < A + E E 9 > ? A D
dŚĞĐŽĚĞŽŶůŝŶĞϭϬĂŶĚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
if( theBearMadeBigPottyInTheWoods)
^ŝŶĐĞƚŚĞĐŽŶĚŝƟŽŶŝƐĨĂůƐĞ͕ƚŚĞĐŽĚĞďůŽĐŬŽŶůŝŶĞƐϭϭƚŽϭϯŝƐŶŽƚĞdžĞĐƵƚĞĚ͕ĂŶĚƚŚĞ
ƐĐƌŝƉƚĐŽŶƟŶƵĞƐƚŽůŝŶĞϭϰŽĨƚŚĞŝĨͲĞůƐĞƐƚĂƚĞŵĞŶƚ͘
dŚĞƌĞĨŽƌĞ͕ƚŚĞĐŽĚĞďůŽĐŬŽŶůŝŶĞƐϭϱƚŽϭϳŝƐĞdžĞĐƵƚĞĚŝŶƐƚĞĂĚ͗
[ 64 ]
Ä ¾ Æ Á ä ]
3RSTXL]²XQGHUVWDQGLQJLIVWDWHPHQWV
Yϭ͘,ƵŵĂŶƐĐĂŶĂŶƐǁĞƌƋƵĞƐƟŽŶƐǁŝƚŚĂLJĞƐŽƌŶŽ͘tŚĂƚĚŽηŝĨƐƚĂƚĞŵĞŶƚƐŶĞĞĚ
ĂƐĂŶƐǁĞƌƐ͍
trueĐŽŶĚŝƟŽŶŝŶƚŽfalse falseĐŽŶĚŝƟŽŶ
` 4 D 1 9 2 > + 0 / : 9 > + , A . 9 2 + . : 9 @ 2 < . @ 9 G + . 9
true͍
/ @ 2 +
Yϯ͘/ĨƚǁŽĐŽŶĚŝƟŽŶƐŚĂǀĞƚŽďĞtrueƚŽŵĂŬĞĂŶŝĨƐƚĂƚĞŵĞŶƚΖƐĐŽĚĞĞdžĞĐƵƚĞ͕ǁŚĂƚůŽŐŝĐĂů
ŽƉĞƌĂƚŽƌǁŽƵůĚLJŽƵƵƐĞƚŽũŽŝŶƚŚĞĐŽŶĚŝƟŽŶƐ͍
Yϰ͘/ĨŽŶůLJŽŶĞŽĨƚǁŽĐŽŶĚŝƟŽŶƐŶĞĞĚĞĚƚŽďĞƚƌƵĞƚŽŵĂŬĞĂŶŝĨƐƚĂƚĞŵĞŶƚΖƐĐŽĚĞĞdžĞĐƵƚĞ͕
ǁŚĂƚůŽŐŝĐĂůŽƉĞƌĂƚŽƌǁŽƵůĚLJŽƵƵƐĞƚŽũŽŝŶƚŚĞƚǁŽĐŽŶĚŝƟŽŶƐ͍
á S b c @
ƚŚĞƵŝůĚŝŶŐůŽĐŬƐĨŽƌhŶŝƚLJ^ĐƌŝƉƚƐ͕ǁĞƵƐĞĚĂŶĞdžĂŵƉůĞǁŚĞƌĞƚŚĞƵƐĞƌŚĂĚƚŽƉƌĞƐƐƚŚĞ
ZĞƚƵƌŶͬŶƚĞƌ AddTwoNumbers()
; A - 2 + : 9 > > 2 1 A F A 2 1 + C I
if(Input.GetKeyUp(Keycode.Return))
AddTwoNumbers();
ifƐƚĂƚĞŵĞŶƚĐŽŶĚŝƟŽŶďĞĐŽŵĞƐƚƌƵĞŽŶůLJǁŚĞŶƚŚĞReturnŬĞLJŝƐƌĞůĞĂƐĞĚĂŌĞƌďĞŝŶŐ
1 A
ƉƌĞƐƐĞĚĚŽǁŶ͘,ĞƌĞΖƐĂƉĂƌƟĂůƐĐƌĞĞŶƐŚŽƚŽĨƚŚĞGetKeyUp()ŵĞƚŚŽĚĂƐƐŚŽǁŶŝŶƚŚĞ
^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ
I
ŌĞƌƚŚĞReturn AddTwoNumbers()
; A - / ? . A > A 9 ? A C G / ? A ì A : < 2 A C D
EŽƟĐĞƚŚĂƚƚŚĞĐŽĚĞ͕AddTwoNumbers()͕ŝƐŶΖƚďĞƚǁĞĞŶƚǁŽĐƵƌůLJďƌĂĐĞƐ͘
ù ü û ý ÿ ü ü ý ü
û ú ü ý û ú ü ÿ ú ?
ƚŚĞŽƉƟŽŶƚŽŶŽƚƵƐĞƚŚĞĐƵƌůLJďƌĂĐĞƐ͘
[ 65 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
6WRULQJGDWDLQDQDUUD\D/LVWRUD'LFWLRQDU\
dŚĞƌĞĂƌĞƟŵĞƐƚŚĂƚŵĂŶLJŝƚĞŵƐŶĞĞĚƚŽďĞƐƚŽƌĞĚŝŶƐŽŵĞƚLJƉĞŽĨůŝƐƚ͘WĞƌŚĂƉƐĂƐĞůĞĐƟŽŶŽĨ
ǁĞĂƉŽŶƐƚŚĂƚĂĐŚĂƌĂĐƚĞƌŵĂLJƵƐĞ͘ŶĞdžĂŵƉůĞƵƐĞĚůĂƚĞƌŝŶƚŚŝƐŬŝƐĂůŝƐƚŽĨƐƉůĂƐŚƐĐƌĞĞŶƐ
ĨŽƌƚŚĞ^ƚĂƚĞDĂĐŚŝŶĞƉƌŽũĞĐƚǁĞǁŝůůďƵŝůĚ͘
dŚĞƌĞĂƌĞďĂƐŝĐĂůůLJƚǁŽǁĂLJƐƚŽĂĐĐĞƐƐŝƚĞŵƐŝŶĂůŝƐƚ͗
ŝƌĞĐƚƌĞƚƌŝĞǀĂů͗dŚĞůŽĐĂƟŽŶŽĨĂŶŝƚĞŵŝŶƚŚĞůŝƐƚŝƐĂůƌĞĂĚLJŬŶŽǁŶ͕ƐŽĐŽĚĞŝƐ
ǁƌŝƩĞŶƚŽĂĐĐĞƐƐŝƚĚŝƌĞĐƚůLJ͕Žƌ
>ŽŽƉƌĞƚƌŝĞǀĂů͗dŚĞůŽĐĂƟŽŶŽĨĂŶŝƚĞŵŝŶƚŚĞůŝƐƚŝƐŶŽƚŬŶŽǁŶ͕ŝƚΖƐũƵƐƚŝŶƚŚĞƌĞ
ƐŽŵĞǁŚĞƌĞ͕ƐŽĐŽĚĞŝƐǁƌŝƩĞŶƚŽůŽŽƉƚŚƌŽƵŐŚƚŚĞůŝƐƚƵŶƟůƚŚĞŝƚĞŵĚĞƐŝƌĞĚŝƐĨŽƵŶĚ͘
&ŝƌƐƚƚŚŽƵŐŚ͕ǁĞŶĞĞĚĂůŝƐƚŽĨŝƚĞŵƐďĞĨŽƌĞǁĞĐĂŶƐĞůĞĐƚĂŶLJƚŚŝŶŐĨƌŽŵƚŚĞůŝƐƚ͘ŶĞdžĂŵƉůĞ
ŽĨĐŽůůĞĐƟŶŐŝƚĞŵƐŝŶƚŽĂůŝƐƚ͕ƚŚĞŶůŽŽƉŝŶŐƚŚƌŽƵŐŚƚŚĞůŝƐƚ͕ŝƐƐŚŽǁŶŝŶƚŚĞ^ĐƌŝƉƟŶŐ
GetComponents()
< @ C A . 2 1 A F A 2 1 + C I
$
%
HingeJointsŝŶĂ'ĂŵĞKďũĞĐƚĂƌĞĐŽůůĞĐƚĞĚŝŶƚŽĂŶĂƌƌĂLJ;ůŝƐƚͿ͘KŶĐĞĂůůƚŚĞ
> > 2 1 A
'
HingeJointsĂƌĞŝŶƚŚĞĂƌƌĂLJ͕ŝƚΖƐƵƉƚŽƵƐƚŽĚĞĐŝĚĞǁŚŝĐŚHingeJointsǁĞǁĂŶƚƚŽ
ǁŽƌŬǁŝƚŚŝŶŽƵƌĐŽĚĞ͘
^ŽďŽƩŽŵůŝŶĞ͕ǁŚĂƚĂƌĞǁĞƚĂůŬŝŶŐĂďŽƵƚŚĞƌĞ͍tĞŬŶŽǁƚŚĂƚĂǀĂƌŝĂďůĞƐƚŽƌĞƐĂƐŝŶŐůĞ
ŝƚĞŵ͘&ŽƌŝŶƐƚĂŶĐĞ͕ǁĞĐŽƵůĚƐƚŽƌĞĂƐŝŶŐůĞǁĞĂƉŽŶŝŶĂǀĂƌŝĂďůĞ͘dŚĂƚΖƐŐƌĞĂƚĂƐůŽŶŐĂƐǁĞ
ŽŶůLJŚĂǀĞŽŶĞǁĞĂƉŽŶ͘^ƵƉƉŽƐĞǁĞŚĂǀĞƚŚĞŽƉƟŽŶŽĨƵƐŝŶŐŵĂŶLJĚŝīĞƌĞŶƚǁĞĂƉŽŶƐ͘dŽ
ƐƚŽƌĞƚŚĞƐĞǁĞĂƉŽŶƐǁĞǁŽƵůĚŶĞĞĚĂƐĞƉĂƌĂƚĞǀĂƌŝĂďůĞĨŽƌĞĂĐŚŽŶĞ͘ďĞƩĞƌŽƉƟŽŶǁŽƵůĚ
ďĞƚŽƐƚŽƌĞĂůůƚŚĞǁĞĂƉŽŶƐŝŶƐŽŵĞƐŽƌƚŽĨƐƵƉĞƌͲǀĂƌŝĂďůĞƚŚĂƚĐĂŶƐƚŽƌĞŵĂŶLJŝƚĞŵƐ͕ƚŚĂƚ
ǁĂLJƚŚĞLJΖƌĞĂůůƐƚŽƌĞĚŝŶŽŶĞƉůĂĐĞ͕ŶŽƚŝŶĂǁŚŽůĞďƵŶĐŚŽĨĚŝīĞƌĞŶƚǀĂƌŝĂďůĞƐ͘
dŚĂƚΖƐǁŚĂƚĂŶĂƌƌĂLJ͕Ă>ŝƐƚ͕ŽƌĂŝĐƟŽŶĂƌLJŝƐ͕ĂǀĂƌŝĂďůĞǁŝƚŚƚŚĞĂďŝůŝƚLJƚŽƐƚŽƌĞŵĂŶLJŝƚĞŵƐ͘
K / ; A 9 ? < , A . B 9 . / 9 = > A C / B / C A C / @ 2 + F 9 @ - : < = = - 1 + > A ? D
(
9 . . 9 - / ? : . A 9 2 A C I
[ 66 ]
Ä ¾ Æ Á ä ]
publicŵĞĂŶƐƚŚŝƐĂƌƌĂLJǁŝůůĂƉƉĞĂƌŝŶƚŚĞ
D > ? + 2 1 A 9 . . 9 - / ?
'
9 : : A ? ? / = > A E . + F + 2 1 A . ? : . / , 2 ? D
HingeJoint[]ŝƐƚŚĞƚLJƉĞŽĨǀĂƌŝĂďůĞďĞŝŶŐĐƌĞĂƚĞĚ͘/ƚΖƐŐŽŝŶŐƚŽďĞĂ
HingeJointƚLJƉĞ;HingeJoint ^ĐƌŝƉƚŝŶŐZĞĨĞƌĞŶĐĞ
N
/ ? 9 : > 9 ? ? / @ 2 1 A D
1 A ? < 9 . A = . 9 : ; A 2 ? ? , A : / E - 2 1 9 2 2 1 A B 9 . / 9 = > A : . A 9 2 A C / ? 0 + / @ 0 2 + = A 9 @ 9 . . 9 - G
ĂǀĂƌŝĂďůĞǁŝƚŚŵĂŶLJĐƵďďLJͲŚŽůĞƐƚŽƐƚŽƌĞƐĞǀĞƌĂůHingeJoint
+ = A : 2 ? G 9 @ C
HingeJoint
+ @ > - + = A : 2 ? D
hingeJoint
/ ? 2 1 A @ 9 F A + E 2 1 A 9 . . 9 - = A / @ 0 : . A 9 2 A C D
dŚĂƚǁĂƐĞĂƐLJĞŶŽƵŐŚ͘/ƚΖƐũƵƐƚůŝŬĞĐƌĞĂƟŶŐĂŶLJŽƚŚĞƌǀĂƌŝĂďůĞ͘dŚĞŽŶůLJĚŝīĞƌĞŶĐĞ
ǁĂƐƚŚĞĂĚĚŝƟŽŶŽĨƚŚĞƐƋƵĂƌĞďƌĂĐŬĞƚƐƚŽƐƉĞĐŝĨLJƚŚĂƚƚŚĞƚLJƉĞŽĨǀĂƌŝĂďůĞďĞŝŶŐ
C A : > 9 . A C / ? 9 : 2 < 9 > > - 0 + / @ 0 2 + = A 9 @ 9 . . 9 - D
EŽǁƚŚĂƚƚŚĞĂƌƌĂLJŝƐĐƌĞĂƚĞĚ͕ƚŚĞGetComponent()
F A 2 1 + C . A 2 . / A B A ? 9 > > 2 1 A
HingeJoints
+ @ 2 1 A 9 F A # = A : 2 9 @ C ? 2 + . A ? A 9 : 1 + E 2 1 A F / @ 2 + 2 1 A 9 . . 9 - I
%
hingeJoints = gameObject.
? , A . 2 1 A : + C A + @ > / @ A 7 I
'
GetComponents<HingeJoint>();
hingeJoints
/ ? 2 1 A 9 . . 9 -
9 F A # = A : 2 / ? 2 1 A B 9 . / 9 = > A 2 1 9 2 ? 2 + . A ? 2 1 A 9 F A # = A : 2 2 1 / ? ? : . / , 2 / ?
% %
9 2 2 9 : 1 A C 2 +
GetComponents<HingeJoint>()
/ ? 2 1 A F A 2 1 + C < ? A C 2 + E / @ C A B A . -
HingeJoint
+ = A : 2 + @ 2 1 / ? 9 F A # = A : 2
%
HingeJoint
? A 9 : 1 + = A : 2 / ? E + < @ C G / 2 / ? ? 2 + . A C / @ 2 + + @ A + E 2 1 A : < = = - 1 + > A ? + E 2 1 A 9 . . 9 - D
'
ĞůĞŵĞŶƚ
1 A ? A : < = = - 1 + > A ? 9 : 2 < 9 > > - 1 9 B A 9 . A 9 > @ 9 F A : 9 > > A C 9 @ D 1 A ? A A > A F A @ 2 ? 9 : 2 < 9 > > -
ŚĂǀĞĂƐƉĞĐŝĮĐůŽĐĂƟŽŶŝŶƐŝĚĞƚŚĞhingeJoint
9 . . 9 - D 9 : 1 A > A F A @ 2 / ? 0 / B A @ 9 @ / @ C A ì
ŶƵŵďĞƌ͘dŚĞĮƌƐƚHingeJointĨŽƵŶĚǁŽƵůĚďĞƐƚŽƌĞĚŝŶƚŚĞĞůĞŵĞŶƚĂƚŝŶĚĞdžϬ͕ƚŚĞ
? A : + @ C + @ A E + < @ C / ? ? 2 + . A C / @ 2 1 A A > A F A @ 2 9 2 / @ C A ì 6 D 1 A 2 1 / . C 9 2 / @ C A ì 4 G 9 @ C + @ 9 @ C
ŽŶƵŶƟůĂůůƚŚĞHingeJoints
9 . A E + < @ C + @ 2 1 A 9 F A # = A : 2 D
%
^ŽŝĨǁĞŬŶĞǁĞdžĂĐƚůLJ͕ǁŚŝĐŚHingeJointŝŶƚŚĞĂƌƌĂLJǁĞǁĂŶƚĞĚƚŽǁŽƌŬǁŝƚŚ͕ƉĞƌŚĂƉƐ
HingeJointǁŚŝĐŚŝƐƐƚŽƌĞĚŝŶƚŚĞĞůĞŵĞŶƚĂƚŝŶĚĞdžϭ͕ǁĞĐĂŶƐŝŵƉůLJƌĞƚƌŝĞǀĞ
2 1 A ? A : + @ C
ŝƚĚŝƌĞĐƚůLJďLJƐĂLJŝŶŐŝƚΖƐƐƚŽƌĞĚŝŶƚŚĞǀĂƌŝĂďůĞ͗
hingeJoint[1]
KŶĐĞĂŐĂŝŶǁĞƵƐĞƚŚĞƐƋƵĂƌĞďƌĂĐŬĞƚƐďĞĐĂƵƐĞƚŚĞǀĂƌŝĂďůĞŝƐĂĐƚƵĂůůLJĂŶĂƌƌĂLJ͕ĂŶĚĂůƐŽƚŽ
? , A : / E - 2 1 A / @ C A ì @ < F = A . D
[ 67 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
WůĞĂƐĞŶŽƟĐĞƚŚĂƚƚŚĞǀĞƌLJĮƌƐƚŝŶĚĞdžŶƵŵďĞƌƐƚĂƌƚƐǁŝƚŚnjĞƌŽ͘dŚŝƐŝƐĐĂůůĞĚ
njĞƌŽŝŶĚĞdžĞĚ͘/ƚΖƐũƵƐƚƐŽŵĞƚŚŝŶŐLJŽƵǁŝůůŚĂǀĞƚŽƌĞŵĞŵďĞƌ͘DĂŶLJƚŚŝŶŐƐŝŶ
ƉƌŽŐƌĂŵŵŝŶŐĂƌĞnjĞƌŽŝŶĚĞdžĞĚ͕ĂŶĚŝƚĐƌĞĂƚĞƐĐŽĚŝŶŐĞƌƌŽƌƐǁŚĞŶLJŽƵĨŽƌŐĞƚ͕
ÿ
ý ú û þ ý ü ü û ÿ
dŚĂƚΖƐĂůů/ǁĂŶƚƚŽƐĂLJĂďŽƵƚƵƐŝŶŐĂƌƌĂLJƐƚŽƐƚŽƌĞŽďũĞĐƚƐďĞĐĂƵƐĞ/ǁĂŶƚƚŽĚŝƐĐƵƐƐƵƐŝŶŐ
ListŝŶƐƚĞĂĚ͘/ƚΖƐůŝŬĞĂŶĂƌƌĂLJǁŝƚŚĞdžƚƌĂďĞŶĞĮƚƐ͘
9
ƐŽŵĞĨŽƌƵŵƐŝƚĞƐƌĞůĂƚĞĚƚŽη͕ĂŶĚhŶŝƚLJ͕ĂŶĚLJŽƵΖůůĚŝƐĐŽǀĞƌƚŚĂƚĂŐƌĞĂƚĚĞĂůŽĨ
ƉƌŽŐƌĂŵŵĞƌƐƐŝŵƉůLJĚŽŶΖƚƵƐĞĂŶĂƌƌĂLJƵŶůĞƐƐƚŚĞLJŚĂǀĞƚŽ͕ƚŚĞLJƉƌĞĨĞƌƚŽƵƐĞĂList
D
,ĞƌĞĂƌĞƚŚĞďĂƐŝĐƐŽĨǁŚLJĂ>ŝƐƚŝƐďĞƩĞƌ͕ĂŶĚĞĂƐŝĞƌ͕ƚŽƵƐĞƚŚĂŶĂŶĂƌƌĂLJ͗
ŶĂƌƌĂLJŝƐĂĮdžĞĚƐŝnjĞĂŶĚƵŶĐŚĂŶŐĞĂďůĞ
dŚĞƐŝnjĞŽĨĂList
/ ? 9 C < ? 2 9 = > A
zŽƵĐĂŶĞĂƐŝůLJĂĚĚƚŽ͕ĂŶĚƌĞŵŽǀĞĞůĞŵĞŶƚƐĨƌŽŵĂList
dŽŵŝŵŝĐĂĚĚŝŶŐĂŶĞǁĞůĞŵĞŶƚƚŽĂŶĂƌƌĂLJ͕ǁĞǁŽƵůĚŶĞĞĚƚŽĐƌĞĂƚĞĂǁŚŽůĞ
ŶĞǁĂƌƌĂLJǁŝƚŚƚŚĞĚĞƐŝƌĞĚŶƵŵďĞƌŽĨĞůĞŵĞŶƚƐ͕ƚŚĞŶĐŽƉLJŽǀĞƌƚŚĞŽůĚĞůĞŵĞŶƚƐ
dŚĞĮƌƐƚƚŚŝŶŐƚŽƵŶĚĞƌƐƚĂŶĚŝƐƚŚĂƚĂList
1 9 ? 2 1 A 9 = / > / 2 - 2 + ? 2 + . A 9 @ - 2 - , A + E + = A : 2 G
ũƵƐƚůŝŬĞĂŶĂƌƌĂLJ͘ůƐŽ͕ũƵƐƚůŝŬĞĂŶĂƌƌĂLJ͕ǁĞŵƵƐƚƐƉĞĐŝĨLJ͕ǁŚŝĐŚƚLJƉĞŽĨŽďũĞĐƚLJŽƵǁĂŶƚ
ĂƉĂƌƟĐƵůĂƌList dŚŝƐŵĞĂŶƐƚŚĂƚŝĨLJŽƵǁĂŶƚĂList int
2 + ? 2 + . A D + E / @ 2 A 0 A . ? G + E 2 1 A 2 - , A G
ListƚŚĂƚǁŝůůƐƚŽƌĞŽŶůLJƚŚĞint ListŽĨƉŽŶLJŶĂŵĞƐ͍
2 1 A @ - + < : 9 @ : . A 9 2 A 9 2 - , A D 9 @ 2 9
ListƚŚĂƚǁŝůůƐƚŽƌĞŽŶůLJƚŚĞstring
1 A @ : . A 9 2 A 9 2 - , A D
7LPHIRUDFWLRQ²FUHDWHD/LVWRISRQ\QDPHV
List
* . A 9 2 A 9 2 1 9 2 ? 2 + . A ? 2 1 A @ 9 F A ? + E ? + F A , + @ / A ? D J / @ : A 2 1 A - 9 . A @ 9 F A ? G < ? A
string
2 1 A 2 - , A D
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
EŽƟĐĞƚŚĞĐŚĂŶŐĞŽŶůŝŶĞϮ͘
õ ô
^ĂǀĞƚŚĞĮůĞ͘
ö ô
[ 68 ]
Ä ¾ Æ Á ä ]
ô
.
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
List
2 + 2 9 > + E 7 A > A F A @ 2 ? / @ 2 1 A I
[ 69 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
WůĞĂƐĞŶŽƟĐĞƚŚĂƚLJŽƵƌĐŽĚĞŝƐƵƐŝŶŐĚŽƚƐLJŶƚĂdž͕ǁŚŝĐŚǁŝůůďĞĚŝƐĐƵƐƐĞĚŝŶ
ŵŽƌĞĚĞƚĂŝůŝŶƚŚĞŶĞdžƚĐŚĂƉƚĞƌ͘dŚĞŵĂŝŶĐŽŶĐĞƉƚƐ/ǁĂŶƚLJŽƵƚŽĨŽĐƵƐŽŶ
List
û ú û ú û ÿ ú
ĐŽĚĞŝƐĂƐĨŽůůŽǁƐ͗
1 A 9 @ 9 > - ? / ? + E
dŚĞĐŽĚĞŽŶůŝŶĞϮŝƐĂƐĨŽůůŽǁƐ͗
Using System.Collections.Generic;
List͕ƚŚŝƐƚĞůůƐhŶŝƚLJǁŚĞƌĞƚŽĮŶĚƚŚĞŶĞĐĞƐƐĂƌLJηĐŽĚĞĮůĞƐ
+ = A 9 = > A 2 + < ? A 9
List
E + . < ? / @ 0 9 D
using System.Collections.Generic;
* 1 9 @ 0 A 2 1 A < ? / @ 0 ? 2 9 2 A F A @ 2 2 + D
dŚĞĐŽĚĞŽŶůŝŶĞϴŝƐĂƐĨŽůŽůǁƐ͗
List<string> myFavoritePonies = new List<string>();
List
1 / ? ? 2 9 2 A F A @ 2 : . A 9 2 A ? 9 @ A F , 2 - + = A : 2 D
&ŝƌƐƚƚŚŝŶŐƚŽŶŽƟĐĞŝƐƚŚĂƚList<string>ƐƉĞĐŝĮĞƐƚŚĂƚLJŽƵĂƌĞĐƌĞĂƟŶŐĂList
string
+ E 2 - , A D
List myFavoritePonies
1 A @ 9 F A + E 2 1 A / ? D
ǀĞƌLJƚŚŝŶŐŽŶƚŚĞůĞŌƐŝĚĞŽĨƚŚĞĂƐƐŝŐŶŵĞŶƚŽƉĞƌĂƚŽƌ;=ͿŝƐĐƌĞĂƟŶŐĂǀĂƌŝĂďůĞ͕
C A : > 9 . / @ 0 2 1 A 2 - , A 9 @ C 2 1 A @ 9 F A D
new List<string()ŝƐĂŵĞƚŚŽĚĐĂůůĞĚƚŽĐƌĞĂƚĞĂŶĞǁList
+ = A : 2 / @ : + F , < 2 A .
ŵĞŵŽƌLJ͕ĂŶĚŐŝǀĞƚŚĂƚŵĞŵŽƌLJůŽĐĂƟŽŶƚŚĞŶĂŵĞŽĨmyFavoritePonies
D
List
ù ú ý ÿ ý û ü û ý ÿ ú ý ÿ ú ü U
ú ý ÿ
ú ü ÿ û ú ú ý ü
ü ÿ
> ú þ ý ü ú ü þ þ
ú û ü ú ÿ ú ü U
ú
ú ü ÿ û þ þ
ƌĞĂƚŝŶŐŽďũĞĐƚƐǁŝůůďĞĚŝƐĐƵƐƐĞĚŵŽƌĞŝŶƚŚĞŶĞdžƚĐŚĂƉƚĞƌĂďŽƵƚĚŽƚƐLJŶƚĂdž͘
[ 70 ]
Ä ¾ Æ Á ä ]
dŚĞĐŽĚĞďĞƚǁĞĞŶůŝŶĞƐϭϬƚŽϭϮ͗
myFavoritePonies.Add("Princess Cadence");
strings
1 A ? A 2 1 . A A > / @ A ? + E : + C A 9 . A 9 C C / @ 0 G 2 1 A , + @ - @ 9 F A ? G 2 + 2 1 A
myFavoritePonies List
D
string
O < ? 2 > / ; A 9 @ 9 . . 9 - G A 9 : 1 , + @ - @ 9 F A 9 C C A C / ? 0 / B A @ 9 @ / @ C A ì @ < F = A . E + .
2 1 A A > A F A @ 2 2 1 9 2 A 9 : 1 , + @ - @ 9 F A / ? ? 2 + . A C / @ I
myFavoritePonies
Princess Nightmare
Fluttershy
Cadence Moon
Index 0 Index 1 Index 2
dŚĞĐŽĚĞŽŶůŝŶĞϭϰŝƐĂƐĨŽůůŽǁƐ͗
Debug.Log("This List has " + myFavoritePonies.Count + " ponies");
myFavoritePonies.Count List
. A 2 . / A B A ? 2 1 A @ < F = A . + E A > A F A @ 2 ? / @ 2 1 A D
dŚĞĐŽĚĞďĞƚǁĞĞŶůŝŶĞƐϭϲĂŶĚϭϴ͗
Debug.Log("The pony's name at index 1 is " + myFavoritePonies[1]);
,ĞƌĞLJŽƵƐĞĞƚŚĞŝŶĚĞdžŶƵŵďĞƌŝŶƐŝĚĞƐƋƵĂƌĞďƌĂĐŬĞƚƐ͘:ƵƐƚůŝŬĞĂŶĂƌƌĂLJ͕ƚŚŝƐŝƐŚŽǁ
ƚŽĚŝƌĞĐƚůLJƌĞƚƌŝĞǀĞƚŚĞĚĂƚĂŝŶĂŶĞůĞŵĞŶƚĂƚĂƐƉĞĐŝĮĐŝŶĚĞdž͘
ĂƌƌĂLJ͕ƚŚĞĮƌƐƚĞůĞŵĞŶƚŝŶĂList
K / ; A 2 1 A / ? 9 2 / @ C A ì 5 D
[ 71 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
+DYHDJRKHUR²DGGDQRWKHUSRQ\WRWKH/LVW
List͕ƚŚĞŶĚŝƐƉůĂLJŝƚΖƐŶĂŵĞ͘ůƐŽ͕ŝŶƚŚĞŽŶƐŽůĞ
C C 9 @ + 2 1 A . , + @ - 2 + 2 1 A G C / ? , > 9 - 2 1 A
'
ListĂŌĞƌĂĚĚŝŶŐƚŚĞĨŽƵƌƚŚƉŽŶLJ͘
@ < F = A . + E A > A F A @ 2 ? / @ 2 1 A
ListƐŚŽǁƐƚŚĞŇĞdžŝďŝůŝƚLJŝƚŚĂƐŽǀĞƌĂŶĂƌƌĂLJ͘
V ý ü þ ú ü ü
ý ÿ ý ÿ ý ÿ ÿ ý ÿ ý ü þ ú ü ú û û ú
[ 72 ]
Ä ¾ Æ Á ä ]
ǁŝƚŚĂƉĂƌƟĐƵůĂƌǀĂůƵĞ͘dŚĞďŝŐďĞŶĞĮƚŽĨĂĚŝĐƟŽŶĂƌLJŝƐƚŚĂƚǁĞĐĂŶƐƉĞĐŝĨLJǁŚĂƚƚŚĞŬĞLJŝƐ
ŐŽŝŶŐƚŽďĞ͘tĞŚĂǀĞƚŽƐƉĞĐŝĨLJƚŚĞƚLJƉĞĂŶĚƚŚĞŶĂŵĞŽĨƚŚĞŬĞLJƚŚĂƚǁŝůůďĞĂƐƐŽĐŝĂƚĞĚǁŝƚŚ
2 1 A B 9 > < A ? 2 + . A C D
ƌĞĂůǁŽƌůĚĞdžĂŵƉůĞLJŽƵΖƌĞĨĂŵŝůŝĂƌǁŝƚŚŝƐĂĐŽůůĞĐƟŽŶŽĨĐƵƐƚŽŵĞƌƐĂŶĚƚŚĞŝƌ/ŶƵŵďĞƌ͘
:ƵƐƚďLJŬŶŽǁŝŶŐƚŚĞĐƵƐƚŽŵĞƌΖƐ/͕LJŽƵĐŽƵůĚƌĞƚƌŝĞǀĞƚŚĞĐƵƐƚŽŵĞƌΖƐŝŶĨŽƌŵĂƟŽŶ͘
7LPHIRUDFWLRQ²FUHDWHDGLFWLRQDU\RISRQ\QDPHVDQGNH\V
Dictionary int
* . A 9 2 A 9 < ? / @ 0 2 - , A E + . 2 1 A ; A - ? D
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
^ĂǀĞƚŚĞĮůĞ͘
õ ô
ö ô
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
[ 73 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
ŽĨĐŽĚĞŝƐĂƐĨŽůůŽǁƐ͗
1 A 9 @ 9 > - ? / ?
dŚĞĐŽĚĞŽŶůŝŶĞϴŝƐĂƐĨŽůůŽǁƐ͗
Dictionary<int, string> myFavoritePonies = new Dictionary<int,
string>();
Dictionary List
¤ A : > 9 . / @ 0 9 / ? B A . - ? / F / > 9 . 2 + C A : > 9 . / @ 0 9 D
Dictionary Key
. A < / . A ? - + < 2 + ? , A : / E - 2 1 A 2 - , A E + . 2 1 A D
'
1 / ? A ì 9 F , > A < ? A C / @ 2 A 0 A . ? E + . 2 1 A ; A - ? D
dŚĞĐŽĚĞŽŶůŝŶĞƐϭϬĂŶĚϭϭŝƐĂƐĨŽůůŽǁƐ͗
myFavoritePonies.Add(10, "Princess Cadence");
myFavoritePonies.Add(20, "Fluttershy");
,ĞƌĞLJŽƵĂĚĚĞĚƚǁŽƉŽŶŝĞƐƵƐŝŶŐAdd List
G < ? 2 > / ; A - + < C / C E + . 9 D
dŚĞĐŽĚĞŽŶůŝŶĞƐϭϮĂŶĚϭϴǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
myFavoritePonies[30] = "Nightmare Moon";
myFavoritePonies[40] = "Rainbow Dash";
,ĞƌĞLJŽƵĂĚĚĞĚƉŽŶŝĞƐďLJĂƐƐŝŐŶŝŶŐƚŚĞƉŽŶLJŶĂŵĞƚŽĂƉĂƌƟĐƵůĂƌĚŝĐƟŽŶĂƌLJŬĞLJ͘
[ 74 ]
Ä ¾ Æ Á ä ]
7LPHIRUDFWLRQ²DGGLQJSRQLHVXVLQJD&ROOHFWLRQ,QLWLDOL]HU
/ĨǁĞŬŶŽǁƚŚĞŝƚĞŵƐƚŽĂĚĚĂŚĞĂĚŽĨƟŵĞ͕ǁĞĐĂŶĂĚĚƚŚĞŵǁŚĞŶǁĞĐƌĞĂƚĞƚŚĞList
Dictionary
+ . D
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
^ĂǀĞƚŚĞĮůĞ͘
õ ô
ö ô
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
[ 75 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
dŚĞĂŶĂůLJƐŝƐŽĨƚŚĞĐŽĚĞŝƐĂƐĨŽůůŽǁƐ͗
dŚĞĐŽĚĞŽŶůŝŶĞƐϴĂŶĚϵǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
List<string> myFavoritePonies = new List<string>() {"Princess
Cadence", Fluttershy"};
dŚŝƐŝƐĂĐƚƵĂůůLJĂƐŝŶŐůĞƐƚĂƚĞŵĞŶƚ͘/ƚΖƐŽŶƚǁŽůŝŶĞƐƚŽŵĂŬĞŝƚĮƚƚŚĞƐĐƌĞĞŶƐŚŽƚ͘
>ŝŶĞϵƐŚŽǁƐƚŚĞŽůůĞĐƟŽŶ/ŶŝƟĂůŝnjĞƌƚŚĂƚΖƐďĞĞŶĂĚĚĞĚƚŽƚŚĞƵƐƵĂů
ListĚĞĐůĂƌĂƟŽŶ͘
EŽƟĐĞƚŚĞƉŽŶLJŶĂŵĞƐĂƌĞďĞƚǁĞĞŶƚǁŽĐƵƌůLJďƌĂĐĞƐ͘dŚŝƐŝƐŶŽƚĂĐŽĚĞďůŽĐŬ͘
1 / ? / ? 9 @ + 2 1 A . < ? A + E : < . > - = . 9 : A ? D
ListŽůůĞĐƟŽŶ/ŶŝƟĂůŝnjĞƌŝƐƚŚĞƚǁŽĐƵƌůLJďƌĂĐĞƐĂŶĚƚŚĞƐƚƌŝŶŐƐ͕ƚŚĞƉŽŶLJ
1 / ?
ŶĂŵĞƐ͕ƚŚĂƚĂƌĞďĞƚǁĞĞŶƚŚĞŵ͘
EŽƟĐĞƚŚĞƌĞŝƐĂƐĞŵŝĐŽůŽŶĂŌĞƌƚŚĞůĂƐƚĐƵƌůLJďƌĂĐĞ͘dŚŝƐĞŶĚƐƚŚĞList
ĚĞĐůĂƌĂƟŽŶ
? 2 9 2 A F A @ 2 D
dŚĞĐŽĚĞďĞƚǁĞĞŶůŝŶĞƐϭϰĂŶĚϭϱ͗
Dictionary<int, string> ponyDictionary = new Dictionary<int,
string>() {{10, "Nightmare Moon"}, {20, "Rainbow Dash"}};
dŚŝƐŝƐĂƐŝŶŐůĞƐƚĂƚĞŵĞŶƚ͘/ƚΖƐŽŶƚǁŽůŝŶĞƐƚŽŵĂŬĞŝƚĮƚƚŚĞƐĐƌĞĞŶƐŚŽƚ͘
>ŝŶĞϭϱƐŚŽǁƐƚŚĞŽůůĞĐƟŽŶ/ŶŝƟĂůŝnjĞƌƚŚĂƚΖƐďĞĞŶĂĚĚĞĚƚŽƚŚĞƵƐƵĂů
DictionaryĚĞĐůĂƌĂƟŽŶ͘
ĂĐŚŬĞLJĂŶĚǀĂůƵĞƉŽŶLJŶĂŵĞŝƐďĞƚǁĞĞŶƚǁŽĐƵƌůLJďƌĂĐĞƐ͕ƚŚĞŶĂůůƚŚĞ
ŬĞLJͬǀĂůƵĞƉĂŝƌĐŽŵďŝŶĂƟŽŶƐďĞŝŶŐŝŶŝƟĂůŝnjĞĚĂƌĞďĞƚǁĞĞŶƚǁŽĐƵƌůLJďƌĂĐĞƐ͘
[ 76 ]
Ä ¾ Æ Á ä ]
3RSTXL]²XQGHUVWDQGLQJDQDUUD\DQGD/LVW
Yϭ͘/ŶĂŶĂƌƌĂLJŽƌĂ>ŝƐƚ͕ǁŚĂƚŝƐĂŶĞůĞŵĞŶƚ͍
YϮ͘/ŶĂŶĂƌƌĂLJŽƌĂ>ŝƐƚ͕ǁŚĂƚŝƐƚŚĞŝŶĚĞdžŶƵŵďĞƌŽĨƚŚĞĮƌƐƚĞůĞŵĞŶƚ͍
Yϯ͘ĂŶĂƐŝŶŐůĞĂƌƌĂLJ͕ŽƌĂƐŝŶŐůĞ>ŝƐƚ͕ƐƚŽƌĞĚŝīĞƌĞŶƚƚLJƉĞƐŽĨĚĂƚĂ͍
Yϰ͘,ŽǁĐĂŶLJŽƵĂĚĚŵŽƌĞĞůĞŵĞŶƚƐƚŽĂŶĂƌƌĂLJƚŽŵĂŬĞƌŽŽŵĨŽƌŵŽƌĞĚĂƚĂ͍
ĂŶĚŚŽǁƚŚĞLJƐƚŽƌĞĚĂƚĂ͘/ƚΖƐŶŽǁƟŵĞƚŽůĞĂƌŶŚŽǁƚŽůŽŽƉƚŚƌŽƵŐŚƚŚĞĚĂƚĂƚŽƌĞƚƌŝĞǀĞ
2 1 A @ A A C A C C 9 2 9 D
,ĞƌĞĂƌĞƐŽŵĞĐŽŵŵŽŶǁĂLJƐƚŽƉĞƌĨŽƌŵůŽŽƉƐ͗
foreach
> + + ,
for
> + + ,
while
> + + ,
8VLQJWKHIRUHDFKORRS
tŚĞŶǁŽƌŬŝŶŐǁŝƚŚŽůůĞĐƟŽŶƐƐƵĐŚĂƐĂŶĂƌƌĂLJ͕ĂůŝƐƚŽƌĚŝĐƟŽŶĂƌLJ͕ƚŚĞƉƌĞĨĞƌƌĞĚǁĂLJƚŽ
foreach
: - : > A 2 1 . + < 0 1 2 1 A A > A F A @ 2 ? 9 @ C . A 2 . / A B A C 9 2 9 / ? 2 + < ? A 2 1 A > + + , D
7LPHIRUDFWLRQ²XVLQJIRUHDFKORRSVWRUHWULHYHGDWD
tĞΖƌĞŐŽŝŶŐƚŽĐƌĞĂƚĞĂŶĂƌƌĂLJ͕ĂůŝƐƚĂŶĚĂĚŝĐƟŽŶĂƌLJ͕ƚŚĞŶůŽŽƉƚŚƌŽƵŐŚĞĂĐŚŽŶĞƚŽƌĞƚƌŝĞǀĞ
foreach
2 1 A C A ? / . A C C 9 2 9 E . + F A 9 : 1 + @ A = - < ? / @ 0 > + + , ? D
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
^ĂǀĞƚŚĞĮůĞ͘
õ ô
[ 77 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
ö ô
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
[ 78 ]
Ä ¾ Æ Á ä ]
dŚĞĂŶĂůLJƐŝƐŽĨƚŚĞĐŽĚĞŝƐĂƐĨŽůůŽǁƐ͗
ůŝƐƚǁĞĐƌĞĂƚĞĚ͕ǁĞƉŽƉƵůĂƚĞĚƚŚĞŵƵƐŝŶŐĂŽůůĞĐƟŽŶ/ŶŝƟĂůŝnjĞƌ͘
+ . A 9 : 1
H
dŚĞĐŽĚĞďĞƚǁĞĞŶůŝŶĞƐϵĂŶĚϭϬǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
string[] ponyArray = new string[] {"AppleJack", "Rarity"};
string ponyArrayŝƐĚĞĐůĂƌĞĚĂŶĚƚǁŽƐƚƌŝŶŐƐĂƌĞĂĚĚĞĚ͘
9 . . 9 - @ 9 F A C
'
dŚĞĐŽĚĞŽŶůŝŶĞϭϮǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
foreach(string pony in ponyArray)
foreach
> + + , / ? < ? A C 2 + . A 2 . / A B A + @ A A > A F A @ 2 G 9 , + @ - @ 9 F A ? 2 . / @ 0 G ? 2 + . A C
'
ponyArray
/ @ D
pony
B 9 . / 9 = > A / ? C A : > 9 . A C @ 9 F A C 2 + 1 + > C 2 1 A . A 2 . / A B A C , + @ - @ 9 F A D
'
foreachĐŽĚĞďůŽĐŬ͕ůŝŶĞƐϭϯƚŽϭϲ͕ŝƐĞdžĞĐƵƚĞĚ͘
# @ : A 9 , + @ - @ 9 F A / ? . A 2 . / A B A C G 2 1 A
dŚŝƐůŽŽƉŝŶŐĐŽŶƟŶƵĞƐƵŶƟůĞĂĐŚĞůĞŵĞŶƚŝŶponyArray
1 9 ? = A A @ . A 2 . / A B A C 9 @ C
2 A ? 2 A C / @ 2 1 A : + C A = > + : ; D
dŚĞĐŽĚĞŽŶůŝŶĞϭϰǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
if(pony == "Rarity");
pony "Rarity"
E 2 1 A . A 2 . / A B A C ? 2 . / @ 0 ? 2 + . A C / @ / ? A < 9 > 2 + G 2 1 A @ > / @ A 6 L A ì A : < 2 A ? D
!
dŚĞĐŽĚĞŽŶůŝŶĞϭϱǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
Debug.Log("I was looking for " + pony);
dŚĞƐƚƌŝŶŐ/ǁĂƐůŽŽŬŝŶŐĨŽƌƉůƵƐƚŚĞƐƚƌŝŶŐǀĂůƵĞƐƚŽƌĞĚŝŶƉŽŶLJŝƐĚŝƐƉůĂLJĞĚŝŶ
ŽŶƐŽůĞ
2 1 A D
dŚĞĐŽĚĞďĞƚǁĞĞŶůŝŶĞƐϭϴĂŶĚϭϵǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
List<string> ponyList = new List<string>() {"Princess Cadence",
"Fluttershy"};
List ponyListŝƐĚĞĐůĂƌĞĚƚŚĂƚǁŝůůƐƚŽƌĞƚŚĞstringƚLJƉĞ͕ĂŶĚƚǁŽ
@ 9 F A C
'
? 2 . / @ 0 ? 9 . A 9 C C A C D
ůŝŶĞϮϭǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
1 A : + C A + @
foreach string
> + + , / ? < ? A C 2 + . A 2 . / A B A + @ A A > A F A @ 2 G 9 , + @ - @ 9 F A G ? 2 + . A C
'
ponyList
/ @ D
pony
B 9 . / 9 = > A / ? C A : > 9 . A C @ 9 F A C 2 + 1 + > C 2 1 A . A 2 . / A B A C , + @ - @ 9 F A D
'
[ 79 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
foreachĐŽĚĞďůŽĐŬ;ƚŚĂƚŝƐ͕ůŝŶĞƐϮϮƚŽϮϱͿ
# @ : A 9 , + @ - @ 9 F A / ? . A 2 . / A B A C G 2 1 A
/ ? A ì A : < 2 A C D
dŚŝƐůŽŽƉŝŶŐĐŽŶƟŶƵĞƐƵŶƟůĞĂĐŚĞůĞŵĞŶƚŝŶponyList
1 9 ? = A A @ . A 2 . / A B A C 9 @ C
2 A ? 2 A C / @ 2 1 A : + C A = > + : ; D
dŚĞĐŽĚĞŽŶůŝŶĞϮϯǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
if(pony == "Fluttershy")
pony "Fluttershy"
E 2 1 A . A 2 . / A B A C ? 2 . / @ 0 ? 2 + . A C / @ / ? A < 9 > 2 + G 2 1 A @ > / @ A
!
ϮϰĞdžĞĐƵƚĞƐ͘
dŚĞĐŽĚĞŽŶůŝŶĞϮϰǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
Debug.Log("I was looking for " + pony);
dŚĞƐƚƌŝŶŐ/ǁĂƐůŽŽŬŝŶŐĨŽƌƉůƵƐƚŚĞƐƚƌŝŶŐǀĂůƵĞƐƚŽƌĞĚŝŶpony
/ ? C / ? , > 9 - A C
ŽŶƐŽůĞ
/ @ 2 1 A D
dŚĞĐŽĚĞďĞƚǁĞĞŶůŝŶĞƐϮϳĂŶĚϮϴǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
Dictionary<int, string> ponyDictionary = new Dictionary<int,
string>() {{10, "Nightmare Moon"}, {20, "Rainbow Dash"}};
Dictionary ponyDictionaryŝƐĚĞĐůĂƌĞĚǁŝƚŚŬĞLJĂŶĚǀĂůƵĞŽĨƚLJƉĞ
@ 9 F A C
'
<int, string>͕ĂŶĚƚǁŽŬĞLJͬǀĂůƵĞƉĂŝƌƐĂƌĞĂĚĚĞĚ͘
dŚĞĐŽĚĞŽŶůŝŶĞϯϬǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
foreach(KeyValuePair<int, string> pony in ponyDictionary)
foreach KeyValuePair
> + + , / ? < ? A C 2 + . A 2 . / A B A + @ A G 9 ; A - 9 @ C B 9 > < A G ? 2 + . A C / @
'
ponyDictionary
D
pony KeyValuePair
B 9 . / 9 = > A / ? C A : > 9 . A C @ 9 F A C 2 + 1 + > C 2 1 A . A 2 . / A B A C D
'
foreach
# @ : A 9 ; A - B 9 > < A 9 @ C 9 , + @ - @ 9 F A ? 2 . / @ 0 9 . A . A 2 . / A B A C G 2 1 A : + C A = > + : ;
;ƚŚĂƚŝƐ͕ůŝŶĞƐϯϭƚŽϯϰͿŝƐĞdžĞĐƵƚĞĚ͘
dŚŝƐůŽŽƉŝŶŐĐŽŶƟŶƵĞƐƵŶƟůĞĂĐŚKeyValuePair ponyDictionary
/ @ 1 9 ? = A A @
. A 2 . / A B A C 9 @ C 2 A ? 2 A C / @ 2 1 A : + C A = > + : ; D
dŚĞĐŽĚĞŽŶůŝŶĞƐϯϮǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
if(pony.Key == 20)
Key 20
E 2 1 A . A 2 . / A B A C ? 2 + . A C / @ , + @ - / ? A < 9 > 2 + G 2 1 A @ > / @ A 7 7 A ì A : < 2 A ? D
!
ŽŶůŝŶĞϯϯǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
1 A : + C A
ŽŶƐŽůĞ
C / ? , > 9 - A C / @ 2 1 A D
[ 80 ]
Ä ¾ Æ Á ä ]
8VLQJWKHIRUORRS
dŚĞďĞƐƚĚĞƐĐƌŝƉƟŽŶ/ΖǀĞĨŽƵŶĚĨŽƌĂforůŽŽƉ͗ΗůůŽǁƐĂĐŽĚĞďůŽĐŬƚŽďĞĞdžĞĐƵƚĞĚĂƐƉĞĐŝĮĐ
ŶƵŵďĞƌŽĨƟŵĞƐ͘Η
for
1 A ? - @ 2 9 ì + E 9 > + + , I
EŽƟĐĞƚŚĞƚŚƌĞĞƉĂƌƚƐŝŶƐŝĚĞƚŚĞƉĂƌĞŶƚŚĞƐĞƐĂƌĞ
ÿ ú û ú ÿ ý
ü ÿ ü
ú ÿ
7LPHIRUDFWLRQ²VHOHFWLQJDSRQ\IURPD/LVWXVLQJDIRUORRS
>ĞƚΖƐĂĚĚĨŽƵƌ List
, + @ - @ 9 F A ? 2 + 9 D A 2 . / A B A 9 @ C C / ? , > 9 - 2 1 A @ < F = A . + E A > A F A @ 2 ? / @ 2 1 A
"
List for
D 1 A @ < ? A 9 > + + , 2 + C / ? , > 9 - A 9 : 1 , + @ - @ 9 F A G 9 @ C ? A > A : 2 + @ A + E 2 1 A F I
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
^ĂǀĞƚŚĞĮůĞ͘
õ ô
ö ô
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
[ 81 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
ƉŽŶŝĞƐǁĞĂĚĚĞĚƚŽponyList͕ĂŶĚƚŚĞƉŽŶLJǁĞǁĞƌĞůŽŽŬŝŶŐĨŽƌ͗
ĐŽĚĞŝƐĂƐĨŽůůŽǁƐ͗
1 A 9 @ 9 > - ? / ? + E 2 1 A
dŚĞĐŽĚĞďĞƚǁĞĞŶůŝŶĞƐϴĂŶĚϵǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶ͗
List<string> ponyList = new List<string>() {"Princess
Cadence", "Fluttershy", "Rainbow Dash", "Rarity"};
List ponyListŝƐĚĞĐůĂƌĞĚƚŚĂƚǁŝůůƐƚŽƌĞƚŚĞstring
@ 9 F A C 2 - , A D
'
+ < . ? 2 . / @ 0 ? 9 . A 9 C C A C + E 2 1 A , + @ - @ 9 F A ? D
H
dŚĞĐŽĚĞŽŶůŝŶĞϭϭǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
Debug.Log("Number of elements in ponyList: " + ponyList.Count);
ponyList ŽŶƐŽůĞ
< ? A C / @ / ? C / ? , > 9 - A C / @ 2 1 A D
ponyList.Count Count
/ ? < ? / @ 0 C + 2 ? - @ 2 9 ì 2 + 9 : : A ? ? 2 1 A , . + , A . 2 - G 9 B 9 . / 9 = > A
List
2 1 9 2 ? 2 + . A ? 2 1 A @ < F = A . + E A > A F A @ 2 ? / @ 9 D
&ŽƵƌŶĂŵĞƐǁĞƌĞĂĚĚĞĚƚŽponyList
G ? + / 2 1 9 ? E + < . A > A F A @ 2 ? 2 + ? 2 + . A 2 1 A
? 2 . / @ 0 @ 9 F A ? D
[ 82 ]
Ä ¾ Æ Á ä ]
dŚĞĐŽĚĞŽŶůŝŶĞϭϯǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
for(int i = 0; i < ponyList.Count; i++)
for loop
1 A / ? : . A 9 2 A C D
dŚĞŝŶŝƟĂůŝnjĞƌŝƐƐŝŵƉůLJĂĚĞĐůĂƌĞĚǀĂƌŝĂďůĞƚŚĂƚΖƐĂƐƐŝŐŶĞĚĂǀĂůƵĞ͘
i int 0͘tŚLJ͍
A C A : > 9 . A C 9 B 9 . / 9 = > A + E 2 - , A G 9 @ C 9 ? ? / 0 @ A C / 2 2 1 A 9 B 9 > < A + E
dŚĞĮƌƐƚŝŶĚĞdžŶƵŵďĞƌŝŶĂList 0
/ ? D
dŚĞĐŽŶĚŝƟŽŶŝƐĐŚĞĐŬĞĚĨŽƌƚƌƵĞďĞĨŽƌĞƚŚĞĐŽĚĞďůŽĐŬ͕ůŝŶĞƐϭϰƚŽϭϵ͕ŝƐĂůůŽǁĞĚ
2 + = A A ì A : < 2 A C D
forůŽŽƉĮƌƐƚďĞŐŝŶƐ͕ƚŚĞǀĂƌŝĂďůĞi 0 ponyList.Count
1 A @ + < . / ? A < 9 > 2 + G 9 @ C
4 0 4͕ǁŚŝĐŚŝƐtrue for
/ ? A < 9 > 2 + G 2 1 A . A E + . A / ? > A ? ? 2 1 9 @ D 1 A . A E + . A 2 1 A > + + , : + C A
ďůŽĐŬŝƐĂůůŽǁĞĚƚŽĞdžĞĐƵƚĞ͘
i++͕ŶŽǁĂĚĚƐϭƚŽi iŶŽǁĞƋƵĂůƚŽ1
1 A / 2 A . 9 2 + . G G F 9 ; / @ 0 D
i++ŝƐƚŚĞƐĂŵĞƚŚŝŶŐĂƐǁƌŝƟŶŐi = i + 1͕ǁŚŝĐŚŵĞĂŶƐƚŚĂƚLJŽƵĂƌĞƚĂŬŝŶŐƚŚĞ
i i
B 9 > < A / @ 9 @ C 9 C C / @ 0 6 G 2 1 A @ 9 ? ? / 0 @ / @ 0 2 1 9 2 2 + D
dŚĞůŽŽƉƌĞƉĞĂƚƐƵŶƟůƚŚĞĐŽŶĚŝƟŽŶďĞĐŽŵĞƐfalse
D
ŌĞƌĨŽƵƌƟŵĞƐƚŚƌŽƵŐŚƚŚĞůŽŽƉ͕iŝƐŶŽǁĞƋƵĂůƚŽϰ͕ƚŚĞƌĞĨŽƌĞƚŚĞĐŽŶĚŝƟŽŶŝƐ
ŶŽǁfalse i 4͕ƐŽƚŚĞůŽŽƉŝƐĮŶŝƐŚĞĚ͘
= A : 9 < ? A / ? @ + 2 > A ? ? 2 1 9 @
dŚĞůĞƩĞƌΗŝΗŝƐƚLJƉŝĐĂůůLJƵƐĞĚĂƐƚŚĞǀĂƌŝĂďůĞŶĂŵĞŝŶĂĨŽƌůŽŽƉ͘/ƚΖƐƚƌĂĚŝƟŽŶ͘/Ĩ
LJŽƵŚĂƉƉĞŶƚŽŚĂǀĞŶĞƐƚĞĚĨŽƌůŽŽƉƐ͕ƚŚĞŶƚŚĞǀĂƌŝĂďůĞŶĂŵĞƐƵƐĞĚǁŝůůďĞƚŚĞ
ůĞƩĞƌƐũ͕Ŭ͕ů͕ĂŶĚƐŽŽŶ͕ĂƐŶĞĞĚĞĚ͘
ůŝŶĞƐϭϱǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
1 A : + C A + @
Debug.Log(ponyList[i]);
ponyList
1 A A > A F A @ 2 ? / @ 9 . A = A / @ 0 9 : : A ? ? < ? / @ 0 2 1 A / @ C A ì @ < F = A . D
forůŽŽƉŝƐĞdžĞĐƵƚĞĚĨŽƌƚŚĞĮƌƐƚƟŵĞ͕i 0
? 2 1 A / ? A < 9 > 2 + G 2 1 A . A E + . A
'
ponyList[i] ponyList[0]
/ ? 9 : 2 < 9 > > - G 2 1 A A > A F A @ 2 9 2 / @ C A ì 5 D
Princess Cadence
1 A A > A F A @ 2 9 2 / @ C A ì 5 / ? ? 2 + . / @ 0 D
ŌĞƌĞĂĐŚŝƚĞƌĂƟŽŶƚŚƌŽƵŐŚƚŚĞfor i
> + + , G 6 / ? 9 C C A C 2 + G 2 1 A . A E + . A 2 1 A @ A ì 2 2 . / ,
iǁŝůůďĞϭ͘
2 1 . + < 0 1 2 1 A E + . > + + , G
ponyList[i]ǁŝůůĂĐƚƵĂůůLJďĞponyList[1]
G 2 1 A @ A ì 2 A > A F A @ 2 9 2 / @ C A ì 6 D
dŚĞƌĞƐƵůƚŝƐĂůůĨŽƵƌƉŽŶŝĞƐǁŝůůďĞĂĐĐĞƐƐĞĚĂŶĚĚŝƐƉůĂLJĞĚŝŶƚŚĞŽŶƐŽůĞ
D
[ 83 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
dŚĞĐŽĚĞŽŶůŝŶĞƐϭϳǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
if(ponyList[i] == "Fluttershy")
ƵƌŝŶŐĞĂĐŚŝƚĞƌĂƟŽŶƚŚƌŽƵŐŚƚŚĞĐŽĚĞďůŽĐŬ͕ƚŚŝƐŝĨƐƚĂƚĞŵĞŶƚŝƐĐŚĞĐŬŝŶŐƚŽƐĞĞŝĨ
ponyListŝƐĞƋƵĂůƚŽΗFluttershy"
2 1 A @ 9 F A . A 2 . / A B A C E . + F D
tŚĞŶŝƚŝƐ͕ůŝŶĞϭϴŝƐĞdžĞĐƵƚĞĚ͘
dŚĞĐŽĚĞŽŶůŝŶĞƐϭϴǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
Debug.Log("I was looking for " + ponyList[i]);
ŽŶƐŽůĞ
2 1 A D
whileůŽŽƉŝƐǀĞƌLJƐŝŵŝůĂƌƚŽĂĨŽƌůŽŽƉ͘/ƚΖƐůŝŬĞďƌĞĂŬŝŶŐƚŚĞfor
V ý ü
ü ü ú û ÿ f
7LPHIRUDFWLRQ²ÀQGLQJGDWDDQGEUHDNRXWRIWKHZKLOHORRS
tĞΖƌĞŐŽŝŶŐƚŽĚŽƐŽŵĞƚŚŝŶŐĂůŝƩůĞĚŝīĞƌĞŶƚŝŶƚŚŝƐůŽŽƉ͘KŶĐĞǁĞĮŶĚƚŚĞƉŽŶLJǁĞǁĂŶƚ͕
ǁĞΖůůďƌĞĂŬŽƵƚŽĨƚŚĞǁŚŝůĞůŽŽƉ͘dŚŝƐŝƐŚĂŶĚLJǁŚĞŶůŽŽƉŝŶŐƚŚƌŽƵŐŚĂůĂƌŐĞůŝƐƚŽĨŽďũĞĐƚƐ͘
tŚĞŶƚŚĞĚĞƐŝƌĞĚĚĂƚĂŝƐĨŽƵŶĚ͕ƚŚĞƌĞΖƐŶŽƐĞŶƐĞŝŶĐŽŶƟŶƵŝŶŐƚŽůŽŽƉ
2 1 . + < 0 1 2 1 A . A ? 2 + E
2 1 A > / ? 2 I
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞŶĞdžƚƐĐƌĞĞŶƐŚŽƚ͘
ó ô
+ C / E -
#
^ĂǀĞƚŚĞĮůĞ͘
õ ô
ö ô
@ @ / 2 - G : > / : ; + @ 8 > 9 - D
! )
[ 84 ]
Ä ¾ Æ Á ä ]
breakŬĞLJǁŽƌĚŽŶůŝŶĞϭϵ͕ƚŚĞŽƵƚƉƵƚǁŽƵůĚŚĂǀĞďĞĞŶĞdžĂĐƚůLJ for
2 1 A ? 9 F A 9 ? 2 1 A > + + ,
breakŬĞLJǁŽƌĚĐŽƵůĚŚĂǀĞĂůƐŽŚĂǀĞďĞĞŶƵƐĞĚƚŽďƌĞĂŬŽƵƚŽĨƚŚĞ
A ì 9 F , > A D @ E 9 : 2 G 2 1 A
!
E + . > + + , D
[ 85 ]
Z ¾ 6 3 Å 4 [ Á å 3 Ç 3 Â Å Ç 3 Å Ä Â 1 Á
/ǁŝůůƐŬŝƉĞdžƉůĂŝŶŝŶŐůŝŶĞƐŽĨĐŽĚĞƚŚĂƚĂƌĞŝĚĞŶƟĐĂůŝŶƚŚĞfor
> + + , A ì 9 F , > A D
dŚĞĂŶĂůLJƐŝƐŽĨƚŚĞĐŽĚĞŝƐĂƐĨŽůůŽǁƐ͗
dŚĞĐŽĚĞŽŶůŝŶĞϭϭǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
int i = 0;
dŚĞŝŶŝƟĂůŝnjĞƌŝƐĚĞĐůĂƌĞĚĂŶĚĂƐƐŝŐŶĞĚƚŚĞǀĂůƵĞŽĨϭ͘
dŚĞĐŽĚĞŽŶůŝŶĞϭϮǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
while(i < ponyList.Count)
whileůŽŽƉŝƐĚĞĐůĂƌĞĚǁŝƚŚƚŚĞĐŽŶĚŝƟŽŶ͘
1 A
i 0 ponyList.Count͕ǁŚŝĐŚŝƐ4͕ƚŚĞĐŽŶĚŝƟŽŶŝƐƚƌƵĞ͘
J / @ : A / ? G / 2 / ? > A ? ? 2 1 9 @
whileůŽŽƉĐŽĚĞďůŽĐŬ;ƚŚĂƚŝƐ͕ůŝŶĞƐϭϯƚŽϮϮͿ͕ŝƐĞdžĞĐƵƚĞĚ͘
1 A
dŚĞĐŽĚĞŽŶůŝŶĞϭϲǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
if(ponyList[i] == "Rainbow Dash")
ƵƌŝŶŐĞĂĐŚŝƚĞƌĂƟŽŶƚŚƌŽƵŐŚƚŚĞĐŽĚĞďůŽĐŬ͕ƚŚŝƐif
? 2 9 2 A F A @ 2 / ? : 1 A : ; / @ 0 2 +
tŚĞŶŝƚŝƐ͕ƚŚĞĐŽĚĞďůŽĐŬŽĨůŝŶĞƐϭϳƚŽϮϬŝƐĞdžĞĐƵƚĞĚ͘
tŚĞŶŝƚŝƐŶΖƚ͕ůŝŶĞϮϭŝƐƚŚĞŶĞdžƚůŝŶĞƚŚĂƚŝƐĞdžĞĐƵƚĞĚ͘
dŚĞĐŽĚĞŽŶůŝŶĞϮϭǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
i++;
i
1 A / 2 A . 9 2 + . / ? / @ : . A F A @ 2 A C = - 6 9 @ C 2 1 A > + + , . A , A 9 2 ? = 9 : ; 2 + > / @ A 6 4 2 + : 1 A : ;
ƚŚĞĐŽŶĚŝƟŽŶĂŐĂŝŶ͘
dŚĞůŽŽƉƌĞƉĞĂƚƐƵŶƟůiŝƐĞƋƵĂůƚŽϰ͕ŵĂŬŝŶŐƚŚĞĐŽŶĚŝƟŽŶĨĂůƐĞǁŚŝĐŚĞdžŝƚƐ
2 1 A > + + , D
ŽŶůŝŶĞϭϴǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
1 A : + C A
ŽŶƐŽůĞ
C / ? , > 9 - A C / @ 2 1 A D
[ 86 ]
Ä ¾ Æ Á ä ]
ŽŶůŝŶĞϭϵǁŝƚŚŝƚƐĚĞƐĐƌŝƉƟŽŶŝƐĂƐĨŽůůŽǁƐ͗
1 A : + C A
break;
breakŝƐĂηŬĞLJǁŽƌĚƚŚĂƚĂůƚĞƌƐĐŽĚĞŇŽǁ͘
ŽĚĞĞdžĞĐƵƟŽŶŝŵŵĞĚŝĂƚĞůLJůĞĂǀĞƐƚŚŝƐwhileůŽŽƉĐŽĚĞďůŽĐŬĂŶĚĐŽŶƟŶƵĞƐƚŽƚŚĞ
ĮƌƐƚƐƚĂƚĞŵĞŶƚĨŽůůŽǁŝŶŐƚŚĞĐŽĚĞďůŽĐŬ͘
dŚĞƌĞŝƐŶŽƐƚĂƚĞŵĞŶƚĨŽůůŽǁŝŶŐƚŚĞǁŚŝůĞůŽŽƉ͕ƚŚĞƐĐƌŝƉƚŝƐĮŶŝƐŚĞĚ͘
+DYHDJRKHUR²FKDQJLQJWKHSRQ\QDPHEHLQJVHDUFKHG
KŶůŝŶĞϭϲ͕ĐŚĂŶŐĞƚŚĞƉŽŶLJŶĂŵĞďĞŝŶŐƐĞĂƌĐŚĞĚĂŶĚŽďƐĞƌǀĞŚŽǁŝƚĐŚĂŶŐĞƐƚŚĞŶƵŵďĞƌ
ŽŶƐŽůĞ
+ E , + @ - @ 9 F A ? C / ? , > 9 - A C / @ 2 1 A = A E + . A ? 2 + , , / @ 0 D
Summary
dŚĞƌĞĂƌĞƵŶůŝŵŝƚĞĚǁĂLJƐƚŽŵĂŬĞĚĞĐŝƐŝŽŶƐŝŶĐŽĚĞ͕ŚŽǁĞǀĞƌ͕ǁĞĐŽǀĞƌĞĚŵĂŶLJŽĨƚŚĞ
ĐŽŵŵŽŶǁĂLJƐ͘dŚĞŝĨƐƚĂƚĞŵĞŶƚŝƐŚŽǁƚŚĞŵĂũŽƌŝƚLJŽĨĚĞĐŝƐŝŽŶƐĂƌĞŵĂĚĞ͕ŝŶĐůƵĚŝŶŐƚŚĞ
ŝĨͲĞůƐĞƐƚĂƚĞŵĞŶƚƐ͘dŚĞŶǁĞĐŽǀĞƌĞĚƐŽŵĞŽĨƚŚĞƐŽƵƌĐĞƐƚŚĂƚƌĞƋƵŝƌĞŵĂŬŝŶŐĚĞĐŝƐŝŽŶƐ͕ůŝŬĞ
ƵƐĞƌŝŶƉƵƚ͕ĂŶĚƵƐŝŶŐůŽŽƉƐƚŽĞǀĂůƵĂƚĞĚĂƚĂƐƚŽƌĞĚŝŶĂƌƌĂLJƐ͕ůŝƐƚƐĂŶĚĚŝĐƟŽŶĂƌŝĞƐ͘EŽŶĞŽĨ
ƚŚŝƐŝƐĐŽŵƉůŝĐĂƚĞĚ͘/ƚΖƐũƵƐƚĂƉƌŽĐĞƐƐŽĨƐŝŵƉůĞ͕ůŽŐŝĐĂůƐƚĞƉƐ͘
EŽǁƚŚĂƚǁĞΖǀĞůĞĂƌŶĞĚĂďŽƵƚƚŚĞĨƵŶĚĂŵĞŶƚĂůƐŽĨƉƌŽŐƌĂŵŵŝŶŐĨŽƌǁƌŝƟŶŐƐĐƌŝƉƚƐ͕ŝƚΖƐƟŵĞ
ƚŽĚŝŐŝŶƚŽƚŚĞǁŽƌůĚŽĨŽďũĞĐƚƐ͘^ŝŶĐĞĞǀĞƌLJƚŚŝŶŐŝŶhŶŝƚLJŝƐĂŶŽďũĞĐƚ͕LJŽƵŶĞĞĚƚŽŬŶŽǁŚŽǁ
ƚŽĂĐĐĞƐƐƚŚĞŽŵƉŽŶĞŶƚƐŽĨĂŶŽďũĞĐƚ͕ĂŶĚŚŽǁƚŽĐŽŵŵƵŶŝĐĂƟŽŶďĞƚǁĞĞŶŽďũĞĐƚƐ͕ďLJ
ƵƐŝŶŐĚŽƚƐLJŶƚĂdž͘zŽƵŚĂǀĞƐĞĞŶƐŽŵĞĚŽƚƐLJŶƚĂdžƵƐĞĚĂůƌĞĂĚLJŝŶƚŚĞĞdžĂŵƉůĞƐǁĞΖǀĞĐŽĚĞĚ͘
/ŶŶĞdžƚĐŚĂƉƚĞƌ͕LJŽƵǁŝůůƐĞĞŚŽǁƚŚŽƐĞĚŽƚƐǁŽƌŬ͘
[ 87 ]
8VLQJ'RW6\QWD[IRU2EMHFW
6
Communication
^ĐƌŝƉƚƐĚŽŵĂŶLJƚŚŝŶŐƐďLJĂĐĐĞƐƐŝŶŐƚŚĞĨĞĂƚƵƌĞƐďƵŝůƚŝŶƚŽhŶŝƚLJĂŶĚƚŚŝƌĚͲƉĂƌƚLJ
ƉůƵŐŝŶƐ͘dŚĞhŶŝƚLJ^ĐƌŝƉƚŝŶŐZĞĨĞƌĞŶĐĞŝƐŽƵƌůŝŶŬƚŽƚŚĞďƵŝůƚͲŝŶhŶŝƚLJĨĞĂƚƵƌĞƐ͘
dŚĞƚŚŝŶŐŝƐ͕ĞdžĂĐƚůLJŚŽǁĚŽǁĞŝŶǀŽŬĞĂůůŽĨƚŚŽƐĞhŶŝƚLJĨĞĂƚƵƌĞƐ͍
^ŽĨĂƌĂůůǁĞΖǀĞĐŽǀĞƌĞĚŝƐďĂƐŝĐηƉƌŽŐƌĂŵŵŝŶŐ͘'ƌĂŶƚĞĚ͕ƚŚĞĞdžĂŵƉůĞĐŽĚĞ
ǁĞΖǀĞƐĞĞŶŚĂƐŝŶĐůƵĚĞĚƐŽŵĞŽƚ^LJŶƚĂdž͕ƐƵĐŚĂƐĞďƵŐ͘>ŽŐ;ͿƚŽƐĞŶĚŽƵƚƉƵƚ
ƚŽhŶŝƚLJΖƐŽŶƐŽůĞ͘dŚŝƐŝƐŽŶĞŽĨƚŚŽƐĞhŶŝƚLJĨĞĂƚƵƌĞƐ͘/ŶƚŚĞůĂƐƚĐŚĂƉƚĞƌ͕ǁĞ
ĞǀĞŶƐĂǁƐŽŵĞŵŽƌĞŽƚ^LJŶƚĂdž͕ƉŽŶLJ͘<ĞLJĂŶĚƉŽŶLJ͘sĂůƵĞ͕ǁŚŝĐŚŚĂƐŶŽƚŚŝŶŐ
ƚŽĚŽǁŝƚŚhŶŝƚLJ͘dŚĞƐĞĂƌĞũƵƐƚηKKW;KďũĞĐƚKƌŝĞŶƚĞĚWƌŽŐƌĂŵŵŝŶŐͿ
ƌĞůĂƚĞĚĨĞĂƚƵƌĞƐ͘
/ŶďŽƚŚĐĂƐĞƐ͕ƚŚĞƌĞΖƐƐŽŵĞƚLJƉĞŽĨĐŽŵŵƵŶŝĐĂƚŝŽŶƚĂŬŝŶŐƉůĂĐĞƚŽĂĐĐĞƐƐ
ŵĞƚŚŽĚƐĂŶĚĚĂƚĂƚŽŵĂŬĞƚŚŝŶŐƐŚĂƉƉĞŶ͘dŽƚŚĞďĞŐŝŶŶĞƌ͕ƚŚŽƐĞĚŽƚƐŵĂLJďĞ
ŽĚĚůŽŽŬŝŶŐĂŶĚĐŽŶĨƵƐŝŶŐ͕ĂŶĚƚŚĞLJŵĂLJĂƐŬ͕ΗtŚĂƚΖƐƚŚĞĚĞĂůǁŝƚŚĂůůƚŚŽƐĞ
ĚĂƌŶĚŽƚƐďĞƚǁĞĞŶǁŽƌĚƐ͍ΗtĞůů͕ŝĨLJŽƵΖǀĞďĞĞŶƵƐŝŶŐƚŚĞ/ŶƚĞƌŶĞƚĂŶĚƉĂŝĚĂŶLJ
ĂƚƚĞŶƚŝŽŶĂƚĂůů͕LJŽƵΖǀĞďĞĞŶƵƐŝŶŐƚŚŽƐĞĚŽƚƐ͕ƉƌŽďĂďůLJĨŽƌLJĞĂƌƐ͕ĂŶĚĚŝĚŶΖƚ
ƉĂLJŵƵĐŚĂƚƚĞŶƚŝŽŶƚŽƚŚĞŵ͘
tĞƐĞĞŚŽǁƚŽĂĐĐĞƐƐƚŚĞƉŽǁĞƌŽĨŽƚ^LJŶƚĂdžĂƐǁĞĐŽǀĞƌƚŚĞĨŽůůŽǁŝŶŐƐĞĐƟŽŶƐ͗
¤ + 2 J - @ 2 9 ì = A / @ 0 < ? 2 9 @ 9 C C . A ? ?
tŽƌŬŝŶŐǁŝƚŚŽďũĞĐƚƐ
? / @ 0 ¤ + 2 J - @ 2 9 ì / @ 9 ? : . / , 2
)
ĐĐĞƐƐŝŶŐ'ĂŵĞKďũĞĐƚƐƵƐŝŶŐĚƌĂŐͲĂŶĚͲĚƌŽƉǀĞƌƐƵƐǁƌŝƟŶŐĐŽĚĞ
^ŽůĞƚΖƐŐĞƚŽŶǁŝƚŚŝƚ͘͘͘
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
www.unity3d.com
dŚĂƚΖƐƌŝŐŚƚ͕ĂǁĞďĂĚĚƌĞƐƐ͘'ĞĞ͕/ǁŽŶĚĞƌǁŚLJŝƚΖƐĐĂůůĞĚĂǁĞďĂĚĚƌĞƐƐ͍
6LPSOLI\LQJWKHGRWVLQ'RW6\QWD[
ĮĐƟƟŽƵƐ
A . A / ? 9 F 9 / > / @ 0 9 C C . A ? ? I
&
A . . - + . 2 + @
$
4 4 F - J 2 . A A 2
ƐƐĞdž͕sd
zŽƵΖǀĞƵŶĚĞƌƐƚŽŽĚŚŽǁƚŽƌĞĂĚĂŶĂĚĚƌĞƐƐůŝŬĞƚŚŝƐƐŝŶĐĞLJŽƵǁĞƌĞĂŬŝĚ͘>ĞƚΖƐƚĂŬĞĂůŽŽŬĂƚ
ŝƚĂŐĂŝŶƵƐŝŶŐĂĚŝīĞƌĞŶƚĨŽƌŵĂƚ͗
22 myStreet
Essex, VT General
Dot Syntax
Essex, VT
. 22 myStreet
. Terry Norton
General Specific
Žƚ^LJŶƚĂdžŝƐŶΖƚƐŽĐŽŶĨƵƐŝŶŐ͘/ƚΖƐũƵƐƚĂŶĂĚĚƌĞƐƐŝŶĂĚŝīĞƌĞŶƚĨŽƌŵĂƚ͕ŝŶĂ
K + + ; / @ 0 9 2 2 1 9 2 G
ǁĂLJƚŽůŽĐĂƚĞƚŚŝŶŐƐ͘,ĞƌĞΖƐĂŶĞdžĂŵƉůĞ͗ŝŵĂŐŝŶĞǁĞŵĞƚŝŶƵƌŽƉĞƐŽŵĞǁŚĞƌĞ͕ĂŶĚ/ĂƐŬ
LJŽƵƚŽŐĞƚŵLJƐƵŶŐůĂƐƐĞƐƵƐŝŶŐŽŶůLJƚŚŝƐŝŶĨŽƌŵĂƟŽŶ͗
h^͘sĞƌŵŽŶƚ͘ƐƐĞdž͘ϮϮŵLJ^ƚƌĞĞƚ͘ϮŶĚ&ůŽŽƌ͘ŽĸĐĞ͘ĚĞƐŬ͘ĐĞŶƚĞƌĚƌĂǁĞƌ͘ƐƵŶŐůĂƐƐĞƐ
tŽƵůĚLJŽƵŚĂǀĞĂŶLJƉƌŽďůĞŵůŽĐĂƟŶŐƚŚĞŵ͍
[ 90 ]
Ä ¾ Æ Á ä g
8VLQJDFFHVVPRGLÀHUVIRUYDULDEOHVDQGPHWKRGV
ƐƵŶŐůĂƐƐĞƐ͘DLJŚŽƵƐĞŝƐŶΖƚŽƉĞŶƚŽ
: + < > C E + . A ? A A + @ A = / 0 / ? ? < A 2 . - / @ 0 2 + . A 2 . / A B A F -
!
ƚŚĞƉƵďůŝĐ͖ŝƚΖƐĂƉƌŝǀĂƚĞƌĞƐŝĚĞŶĐĞ͕ƐŽƚŚĞĚŽŽƌŝƐůŽĐŬĞĚ͘dŚŝƐŵĞĂŶƐLJŽƵĚŽŶΖƚŚĂǀĞĂĐĐĞƐƐ
2 + 2 1 A ? < @ 0 > 9 ? ? A ? D
/Ŷη͕ǁŚĞŶǁĞĐƌĞĂƚĞĂŵĞŵďĞƌǀĂƌŝĂďůĞŽƌŵĞƚŚŽĚŝŶĂƐĐƌŝƉƚ͕ŝƚŝƐƉƌŝǀĂƚĞďLJĚĞĨĂƵůƚ͘
tĞĐĂŶĂůƐŽĞdžƉůŝĐŝƚůLJƐƉĞĐŝĨLJƚŚĂƚŝƚΖƐprivate
D
private
A . A G F A 9 @ ? I
&
ǀĂƌŝĂďůĞǁŝůůŶŽƚƐŚŽǁŝŶƚŚĞ
9 ? 9 * + F , + @ A @ 2 , . + , A . 2 -
dŚĞǀĂƌŝĂďůĞŽƌŵĞƚŚŽĚǁŝůůŶŽƚďĞĂĐĐĞƐƐŝďůĞĨƌŽŵŽƚŚĞƌƐĐƌŝƉƚƐ
public
A : 9 @ ? , A : / E - 9 B 9 . / 9 = > A + . F A 2 1 + C 2 + = A D
public
A . A G F A 9 @ ? I
&
ǀĂƌŝĂďůĞǁŝůůƐŚŽǁŝŶƚŚĞ
9 ? 9 * + F , + @ A @ 2 , . + , A . 2 -
dŚĞǀĂƌŝĂďůĞŽƌŵĞƚŚŽĚǁŝůůďĞĂĐĐĞƐƐŝďůĞĨƌŽŵŽƚŚĞƌƐĐƌŝƉƚƐ
ƚŚĞƐLJƐƚĞŵƵƐĞĚƚŽůŽĐĂƚĞĂŶĚĐŽŵŵƵŶŝĐĂƚĞǁŝƚŚĂǀĂƌŝĂďůĞ
¤ + 2 J - @ 2 9 ì / ? + . F A 2 1 + C / @ 9 @
ŽďũĞĐƚ͘dŽƵŶĚĞƌƐƚĂŶĚŚŽǁƚŽƵƐĞŽƚ^LJŶƚĂdž͕ǁĞŚĂǀĞƚŽŬŶŽǁƚŚĞƌĞůĂƟŽŶƐŚŝƉďĞƚǁĞĞŶ
9 : > 9 ? ? 9 @ C / 2 ? + = A : 2 ? D
ƐĐƌŝƉƚĂůǁĂLJƐŚĂƐĂĐĐĞƐƐƚŽŝƚƐŽǁŶŵĞŵďĞƌǀĂƌŝĂďůĞĂŶĚŵĞƚŚŽĚƐǁŚĞƚŚĞƌ
ƚŚĞLJΖƌĞprivate public
û
/ĨLJŽƵĐĂŶĞdžƉĂŶĚLJŽƵƌŵŝŶĚũƵƐƚĂůŝƩůĞďŝƚŵŽƌĞ͕ƉĞƌŚĂƉƐLJŽƵĐĂŶĂĐĐĞƉƚƚŚĂƚŶŽƚĂůůŽďũĞĐƚƐ
/ @ @ / 2 - 1 9 B A 2 + = A ? + F A 2 1 / @ 0 - + < : 9 @ ? A A / @ 9 0 9 F A J : A @ A D @ E 9 : 2 G 2 1 A B 9 ? 2 F 9 + . / 2 - + E
) !
[ 91 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
/ŶĂĐŽŵƉƵƚĞƌ͕ĂŶŽďũĞĐƚŝƐũƵƐƚĂƐŵĂůůƐĞĐƟŽŶŽĨLJŽƵƌĐŽŵƉƵƚĞƌΖƐŵĞŵŽƌLJƚŚĂƚĂĐƚƐůŝŬĞĂ
ĐŽŶƚĂŝŶĞƌ͘dŚĞĐŽŶƚĂŝŶĞƌĐĂŶŚĂǀĞƐŽŵĞĚĂƚĂƐƚŽƌĞĚŝŶǀĂƌŝĂďůĞƐĂŶĚƐŽŵĞŵĞƚŚŽĚƐƚŽǁŽƌŬ
ǁŝƚŚƚŚĞĚĂƚĂ͘
dŚĞďĞƐƚĞdžĂŵƉůĞ/ĐĂŶƐŚŽǁLJŽƵŝƐƚŚĞŽďũĞĐƚLJŽƵΖǀĞďĞĞŶƵƐŝŶŐƐŝŶĐĞLJŽƵƐƚĂƌƚĞĚƚŚŝƐŬ͘
/ŶDŽŶŽĞǀĞůŽƉ͕ǁĞΖǀĞďĞĞŶǁŽƌŬŝŶŐǁŝƚŚƚŚĞƐĐƌŝƉƚĐĂůůĞĚLearningScript͘/ŶhŶŝƚLJǁĞ
^ĐƌŝƉƚ͕ďƵƚŝƚΖƐĂĐƚƵĂůůLJĂĐůĂƐƐ͕ǁŚŝĐŚŵĞĂŶƐŝƚΖƐĂĚĞĮŶŝƟŽŶŽĨĂƚLJƉĞŽĨ
< ? A 2 1 A 0 A @ A . 9 > 2 A . F
ĐŽŶƚĂŝŶĞƌ͘>ŽŽŬĂƚůŝŶĞϰŽĨƚŚĞĮůĞ͗
public class LearningScript : MonoBehaviour
^ĞĞƚŚĂƚƐĞĐŽŶĚǁŽƌĚ͍dŚĂƚŵĞĂŶƐƚŚĂƚLearningScriptŝƐĂĐůĂƐƐ͘/ŶƚŚŝƐĐůĂƐƐ͕ǁĞĚĞĮŶĞĚ
/ 2 ? F A F = A . B 9 . / 9 = > A ? 9 @ C F A 2 1 + C ? D @ - B 9 . / 9 = > A @ + 2 C A : > 9 . A C / @ 9 F A 2 1 + C / ? 9 F A F = A .
'
B 9 . / 9 = > A + E 2 1 A : > 9 ? ? D
/ŶƚƌŽĚƵĐŝŶŐƚŚĞƵŝůĚŝŶŐůŽĐŬƐĨŽƌhŶŝƚLJ^ĐƌŝƉƚƐ
@ Þ ß à G 2 + > C - + < 9 = + < 2 2 1 A F 9 0 / : 2 1 9 2
! !
á S
ŚĂƉƉĞŶƐǁŚĞŶǁĞĂƩĂĐŚƚŚĞƐĐƌŝƉƚ;ĐůĂƐƐͿƚŽĂ'ĂŵĞKďũĞĐƚ͘^ŚĂnjĂŵ͊͊dŚĞƐĐƌŝƉƚďĞĐŽŵĞƐĂ
ŽŵƉŽŶĞŶƚŽďũĞĐƚ͕ĂƚLJƉĞŽĨĐŽŶƚĂŝŶĞƌĨŽƌƚŚĞ'ĂŵĞKďũĞĐƚƚŚĂƚǁĞĚĞĮŶĞĚĂƐŚĂǀŝŶŐƐŽŵĞ
ǀĂƌŝĂďůĞƐƚŽƐƚŽƌĞĚĂƚĂĂŶĚƐŽŵĞŵĞƚŚŽĚƐƚŽǁŽƌŬƚŚĂƚƚŚĂƚĚĂƚĂ͘
ĞƐŝĚĞƐƚŚĞǀŝƐƵĂůŵĞƐŚŝŶƚŚĞ^ĐĞŶĞ͕ĐĂŶLJŽƵǀŝƐƵĂůŝnjĞŝŶLJŽƵƌŵŝŶĚƚŚĂƚĂ'ĂŵĞKďũĞĐƚŝƐ
ũƵƐƚĂďƵŶĐŚŽĨĚŝīĞƌĞŶƚƚLJƉĞƐŽĨŽŵƉŽŶĞŶƚŽďũĞĐƚƐĂƐƐĞŵďůĞĚƚŽŐĞƚŚĞƌƚŽĐŽŶƐƚƌƵĐƚƚŚĂƚ
'ĂŵĞKďũĞĐƚ͍
ĂĐŚŽĨƚŚŽƐĞŝŶĚŝǀŝĚƵĂůŽŵƉŽŶĞŶƚƐƐŚŽǁŶŝŶƚŚĞ ǁŝůůďĞĐŽŵĞĂŶŽďũĞĐƚŝŶŽƵƌ
ĐŽŵƉƵƚĞƌΖƐŵĞŵŽƌLJǁŚĞŶǁĞĐůŝĐŬŽŶƚŚĞWůĂLJďƵƩŽŶ͘
^ĐĞŶĞ
J A > A : 2 9 @ - 9 F A # = A : 2 / @ 2 1 A G 2 1 A @ > + + ; 9 2 2 1 A D + . A ì 9 F , > A G ? A > A : 2
% H
DĂŝŶĂŵĞƌĂ DĂŝŶĂŵĞƌĂ
2 1 A 9 F A # = A : 2 D 1 A . A 9 . A ? A B A . 9 > * + F , + @ A @ 2 ? + @ 2 1 A
%
'ĂŵĞKďũĞĐƚ͘>ŽŽŬĂƚĞĂĐŚŽĨƚŚŽƐĞĚĞĮŶĞĚŽŵƉŽŶĞŶƚƐ͘ǀĞƌLJŽŶĞŽĨƚŚŽƐĞŽŵƉŽŶĞŶƚƐ
ƐƚĂƌƚĞĚŽīĂƐĂĐůĂƐƐĮůĞŝŶhŶŝƚLJ͕ĚĞĮŶŝŶŐĂƚLJƉĞŽĨĐŽŶƚĂŝŶĞƌŽĨǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͘
tĞĚŽŶΖƚƐĞĞŽƌŵŽĚŝĨLJƚŚŽƐĞhŶŝƚLJĐůĂƐƐĮůĞƐ͕ďƵƚƚŚĞLJΖƌĞŝŶhŶŝƚLJƐŽŵĞǁŚĞƌĞ͘
dŚĞŶĂŵĞŽĨƚŚĞĐůĂƐƐŝƐĂůƐŽŬŶŽǁŶĂƐƚŚĞŽďũĞĐƚƚLJƉĞŽĨƚŚĞŽďũĞĐƚƚŚĂƚǁŝůůďĞ
ĐƌĞĂƚĞĚŝŶŵĞŵŽƌLJĨƌŽŵƚŚĂƚĐůĂƐƐ͕ǁŚĞŶƚŚĞWůĂLJďƵƩŽŶŝƐĐůŝĐŬĞĚ͘
int string
O < ? 2 > / ; A 9 @ G + . 9 / ? 9 2 - , A + E C 9 2 9 G 2 1 A @ 9 F A + E 9 : > 9 ? ? / ? 9 > ? + 9 2 - , A
+ E C 9 2 9 D
dŚŝƐŵĞĂŶƐƚŚĂƚǁŚĞŶǁĞĚĞĐůĂƌĞĂǀĂƌŝĂďůĞĂŶĚƐƉĞĐŝĨLJƚŚĞƚLJƉĞŽĨĚĂƚĂŝƚǁŝůůƐƚŽƌĞ͕
LearningScript
/ 2 : 9 @ < ? 2 9 ? A 9 ? / > - ? 2 + . A 9 . A E A . A @ : A 2 + 9 @ + = A : 2 + E 2 1 A 2 - , A G 9 ?
ƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐůŝŶĞŽĨĐŽĚĞ͗
LearningScript myVariable;
[ 92 ]
Ä ¾ Æ Á ä g
^ƚŽƌŝŶŐĂƌĞĨĞƌĞŶĐĞƚŽĂŶŽďũĞĐƚŝŶĂǀĂƌŝĂďůĞĚŽĞƐŶŽƚŵĞĂŶǁĞĂƌĞƐƚŽƌŝŶŐƚŚĞ
ĂĐƚƵĂůŽďũĞĐƚ͘/ƚŵĞĂŶƐǁĞĂƌĞƐƚŽƌŝŶŐƚŚĞůŽĐĂƟŽŶŝŶŵĞŵŽƌLJŽĨƚŚĂƚŽďũĞĐƚ͘/ƚΖƐ
ũƵƐƚĂƌĞĨĞƌĞŶĐĞƚŚĂƚƉŽŝŶƚƐƚŽƚŚĞŽďũĞĐƚŝŶŵĞŵŽƌLJƐŽƚŚĂƚƚŚĞĐŽŵƉƵƚĞƌŬŶŽǁƐ
ǁŚĞƌĞƚŽĂĐĐĞƐƐƚŚĞŽďũĞĐƚΖƐĚĂƚĂĂŶĚŵĞƚŚŽĚƐ͘dŚŝƐŵĞĂŶƐǁĞĐĂŶŚĂǀĞƐĞǀĞƌĂů
ǀĂƌŝĂďůĞƐƐƚŽƌŝŶŐĂƌĞĨĞƌĞŶĐĞƚŽƚŚĞƐĂŵĞŽďũĞĐƚ͕ďƵƚƚŚĞƌĞΖƐƐƟůůŽŶůLJŽŶĞĂĐƚƵĂů
+ = A : 2 / @ F A F + . - D
ŝƐũƵƐƚĂĮůĞŽŶLJŽƵƌŚĂƌĚĚƌŝǀĞ͕ĂŶĚƚŚĞƌĞΖƐŽŶůLJĞǀĞƌŽŶĞĮůĞ͘dŚĞĐůĂƐƐ
V ÿ
û ý
ĮůĞƐŝŵƉůLJĚĞĮŶĞƐĂƚLJƉĞŽĨĐŽŶƚĂŝŶĞƌŽĨǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐƚŚĂƚǁŝůůďĞĐŽŵĞ
ĂŽŵƉŽŶĞŶƚŽďũĞĐƚŝŶƚŚĞŵĞŵŽƌLJǁŚĞŶLJŽƵĐůŝĐŬŽŶWůĂLJ͘zŽƵĐĂŶĂƩĂĐŚƚŚĞ
ƐĐƌŝƉƚƚŽŵĂŶLJ'ĂŵĞKďũĞĐƚƐ͕ďƵƚƚŚĞƌĞΖƐƐƟůůŽŶůLJŽŶĞĮůĞŽŶLJŽƵƌŚĂƌĚĚƌŝǀĞ͘
ƩĂĐŚŝŶŐĂ ^ĐƌŝƉƚƚŽĂ'ĂŵĞKďũĞĐƚŝƐůŝŬĞƉůĂĐŝŶŐĂƐƟĐŬLJͲŶŽƚĞŽŶƚŚĞ'ĂŵĞKďũĞĐƚ͘tŚĞŶ
ǁĞĐůŝĐŬŽŶƚŚĞWůĂLJďƵƩŽŶ͕hŶŝƚLJůŽŽŬƐĂƚŽƵƌ'ĂŵĞKďũĞĐƚ͕ƐĞĞƐƚŚĞƐƟĐŬLJͲŶŽƚĞǁŚŝĐŚƐĂLJƐ͕
ΗdŚŝƐ'ĂŵĞKďũĞĐƚŝƐƐƵƉƉŽƐĞĚƚŽŚĂǀĞĂŽŵƉŽŶĞŶƚŽĨƚLJƉĞLearningScript
D 9 ; A ? + F A
#
ƌŽŽŵŝŶƚŚĞĐŽŵƉƵƚĞƌΖƐŵĞŵŽƌLJƚŽŚŽůĚƚŚŝƐŽďũĞĐƚŽĨǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐĂƐĚĞƐĐƌŝďĞĚŝŶ
LearningScriptĐůĂƐƐĮůĞ͘Η
2 1 A
/ĨǁĞǁĞƌĞƚŽĂƩĂĐŚLearningScript WůĂLJ͕ƚŚĞƌĞǁŝůů
2 + 6 5 5 5 9 F A # = A : 2 ? G 9 @ C : > / : ; + @
%
ďĞϭϬϬϬƐĞƉĂƌĂƚĞƐĞĐƟŽŶƐĐƌĞĂƚĞĚŝŶLJŽƵƌĐŽŵƉƵƚĞƌΖƐŵĞŵŽƌLJƚŚĂƚĞĂĐŚƐƚŽƌĞƐĂŶŽďũĞĐƚ
LearningScript͘ĂĐŚŽŶĞŚĂƐŝƚƐŽǁŶƐĞƚŽĨǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͕ĂƐĚĞƐĐƌŝďĞĚ
+ E 2 - , A
scriptĮůĞ͘ĂĐŚŽŶĞŽĨƚŚŽƐĞϭϬϬϬƐĞĐƟŽŶƐŽĨĐŽŵƉƵƚĞƌŵĞŵŽƌLJŝƐĂƐĞƉĂƌĂƚĞ
= - 2 1 A
ŽŵƉŽŶĞŶƚŽďũĞĐƚŽĨŝƚƐƌĞƐƉĞĐƟǀĞ'ĂŵĞKďũĞĐƚ͘
h ? ü þ U û ú û ú ú ÿ ÿ ý ÿ ú ú T ü ü
hŶŝƚLJ͖ŝŶŵŽƌĞŐĞŶĞƌĂůηƚĞƌŵƐ͕ĞĂĐŚŽďũĞĐƚƚŚĂƚŐĞƚƐĐƌĞĂƚĞĚĨƌŽŵĂ
ú ÿ ÿ ý ÿ
ú ú ü ý ü ÿ ú ü
U
V T ü ü U
ú ü ú ü ý ü ÿ ú ü
U ú û ÿ ú ý ü þ
ŝŶǀĂƌŝĂďůĞƐ͕ŝƚΖƐƟŵĞƚŽƵƐĞŽƚ^LJŶƚĂdžƚŽĂĐĐĞƐƐƚŚŽƐĞŽŵƉŽŶĞŶƚǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͘
'ĂŵĞKďũĞĐƚ͘ǀĞŶƚŚŽƵŐŚĂŽŵƉŽŶĞŶƚĂůǁĂLJƐŚĂƐĂĐĐĞƐƐƚŽŝƚƐŽǁŶǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͕
ǁĞĐĂŶƐƟůůƵƐĞŽƚ^LJŶƚĂdžŝĨǁĞǁĂŶƚ͘
[ 93 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
/ŶŽƌĚĞƌƚŽŚĂǀĞĂĐĐĞƐƐƚŽĂǀĂƌŝĂďůĞŽƌŵĞƚŚŽĚ͕ǁĞŚĂǀĞƚŽŬŶŽǁŝƚƐůŽĐĂƟŽŶ͘>ĞƚΖƐƐƚĂƌƚďLJ
LearningScript
> + + ; / @ 0 / @ D
,ĞƌĞΖƐĂŶŽǀĞƌǀŝĞǁŽĨŚŽǁƚŽĂĐĐĞƐƐĂǀĂƌŝĂďůĞŽƌŵĞƚŚŽĚĨƌŽŵǁŝƚŚŝŶƚŚĞĐƵƌƌĞŶƚŽŵƉŽŶĞŶƚ͗
1
variable or method
2
this variable or method
7LPHIRUDFWLRQ²DFFHVVLQJDYDULDEOHLQWKHFXUUHQW&RPSRQHQW
>ĞƚΖƐůŽŽŬĂƚĂĐĐĞƐƐŝŶŐĂ LearningScript LearningScript
B 9 . / 9 = > A / @ E . + F / @ ? / C A D
LearningScriptĂƐƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐĮŐƵƌĞ͗
ó ô
+ C / E -
#
[ 94 ]
Ä ¾ Æ Á ä g
^ĂǀĞƚŚĞĮůĞ͘
õ ô
WůĂLJ͘
ö ô
@ @ / 2 - G : > / : ; + @
! )
ŶĂŶĂůLJƐŝƐŽĨƚŚĞĐŽĚĞƐŚŽǁŶŝŶƚŚĞƉƌĞǀŝŽƵƐĐŽĚĞƐĐƌĞĞŶƐŚŽƚŝƐĂƐĨŽůůŽǁƐ͗
myString ǀĂƌŝĂďůĞƚŚĂƚǁŝůůďĞĂĐĐĞƐƐĞĚ
/ ? 2 1 A
EŽƟĐĞƚŚĂƚŝƚΖƐprivateďLJĚĞĨĂƵůƚ͕LJĞƚŝƚĐĂŶƐƟůůďĞĂĐĐĞƐƐĞĚ
dŚŝƐŝƐŚŽǁǁĞŚĂǀĞďĞĞŶĂĐĐĞƐƐŝŶŐƚŚĞǀĂůƵĞƐƚŽƌĞĚŝŶĂǀĂƌŝĂďůĞ͕ďLJũƵƐƚƵƐŝŶŐ
2 1 A B 9 . / 9 = > A @ 9 F A
E + . 2 1 A B 9 . / 9 = > A @ 9 F A
myStringŝƐďĞŝŶŐĂĐĐĞƐƐĞĚǁŝƚŚŽƵƚƵƐŝŶŐŽƚ^LJŶƚĂdžŽƌGetComponent()
G
ďĞĐĂƵƐĞĂƐĐƌŝƉƚĂůǁĂLJƐŚĂƐĂĐĐĞƐƐƚŽŝƚƐŽǁŶǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ
myString
/ ? = A / @ 0 9 : : A ? ? A C < ? / @ 0 ¤ + 2 J - @ 2 9 ì
thisŬĞLJǁŽƌĚƌĞĨĞƌƐƚŽƚŚĞĐƵƌƌĞŶƚŝŶƐƚĂŶĐĞŽĨƚŚĞĐůĂƐƐ͕
1 A
2 1 A : < . . A @ 2 * + F , + @ A @ 2
[ 95 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
>ŝŶĞϭϵ͗Debug.Log(GetComponent<LearningScript>().myString + "using
GetComponent.");
myString
/ ? = A / @ 0 9 : : A ? ? A C < ? / @ 0 ¤ + 2 J - @ 2 9 ì 9 0 9 / @
dŚŝƐƟŵĞ͕ƚŚĞŐĞŶĞƌŝĐGetComponent<T>()
F A 2 1 + C / ? . A 2 . / A B / @ 0 2 1 A
LearningScript
* + F , + @ A @ 2
Debug.Log(this);
K / @ A 4 4 I
this ŽŶƐŽůĞƐŽǁĞĐĂŶƐĞĞƚŚĂƚthis
? / @ 0 G 2 1 A * + F , + @ A @ 2 / ? ? A @ 2 2 + 2 1 A / ? 2 1 A
)
LearningScript
: < . . A @ 2 * + F , + @ A @ 2 + = A : 2
Debug.Log(GetComponent<LearningScript>());
K / @ A 4 7 I
GetComponent<LearningScript>()
? / @ 0 G 2 1 A * + F , + @ A @ 2 / ? ? A @ 2 2 + 2 1 A
)
ŽŶƐŽůĞ͕ƐŽǁĞĐĂŶƐĞĞƚŚŝƐĂůƐŽŝƐƚŚĞĐƵƌƌĞŶƚLearningScript
* + F , + @ A @ 2 + = A : 2
thisŬĞLJǁŽƌĚĂŶĚGetComponent<LearningScript>()
1 A 9 . A = + 2 1 . A 2 . / A B / @ 0
LearningScript
2 1 A ? 9 F A * + F , + @ A @ 2 + = A : 2
tŚŽĂ͊͊tŚĂƚΖƐǁŝƚŚůŝŶĞϭϴ͍
EŽƟĐĞŝƚĞŵϭŝŶƚŚĞŐƌĂƉŚŝĐƵŶĚĞƌƚŚĞƐĞĐƟŽŶ͕ĐĐĞƐƐŝŶŐĂŽŵƉŽŶĞŶƚΖƐŽǁŶǀĂƌŝĂďůĞƐĂŶĚ
͍dŚŝƐŝƐƚŚĞƵƐƵĂůǁĂLJǁĞǁŝůůĂĐĐĞƐƐǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐŝŶƚŚĞĐƵƌƌĞŶƚƐĐƌŝƉƚ͖
Q ß
á b
ŶŽŽƚ^LJŶƚĂdžƌĞƋƵŝƌĞĚ͘dŚŝƐŝƐŚŽǁǁĞΖǀĞďĞĞŶĚŽŝŶŐŝƚĨƌŽŵƚŚĞďĞŐŝŶŶŝŶŐŽĨƚŚŝƐŬ͘/ƚΖƐ
ŚŽǁǁĞǁŝůůƉƌŽďĂďůLJĐŽŶƟŶƵĞƚŽĂĐĐĞƐƐƚŚĞŵ͘,ŽǁĞǀĞƌ͕ǁĞĚŽŚĂǀĞƚŚĞŽƉƟŽŶŽĨĂĐĐĞƐƐŝŶŐ
2 1 A B 9 . / 9 = > A ? 9 @ C F A 2 1 + C ? / @ 2 1 A : < . . A @ 2 * + F , + @ A @ 2 + = A : 2 < ? / @ 0 ¤ + 2 J - @ 2 9 ì D
ƐLJŽƵĐĂŶƐĞĞĨƌŽŵƚŚĞŽƵƚƉƵƚŽĨůŝŶĞƐϭϳĂŶĚϭϴ͕ƚŚĞǀĂůƵĞƐƚŽƌĞĚŝŶmyString
/ ?
ƐƵďƐƟƚƵƚĞĚŶŽŵĂƩĞƌŚŽǁǁĞĂĐĐĞƐƐmyString
D
^ŽŝĨǁĞƌĞĂůůLJǁĂŶƚĞĚƚŽ͕ǁĞĐŽƵůĚƵƐĞƚŚĞGetComponent()
F A 2 1 + C 2 + . A 2 . / A B A 2 1 A
LearningScript
: < . . A @ 2 * + F , + @ A @ 2 + = A : 2 + E 2 1 A : > 9 ? ? / @ F A F + . - G 2 1 A @ < ? A ¤ + 2 J - @ 2 9 ì 2 +
myString͘,ŽǁĞǀĞƌ͕ηƉƌŽǀŝĚĞƐĂƐŚŽƌƚĐƵƚƚŽŐĞƚƚŚĞĐƵƌƌĞŶƚŽŵƉŽŶĞŶƚŽďũĞĐƚďLJ
9 : : A ? ?
thisŬĞLJǁŽƌĚ͘
< ? / @ 0 2 1 A
/ƚĞŵϮŝŶƚŚĞŐƌĂƉŚŝĐŝƐƚŚĞƐLJŶƚĂdžƵƐĞĚŝŶůŝŶĞϭϴ͘/ŶƚŚŝƐĞdžĂŵƉůĞ͕ƚŚĞŬĞLJǁŽƌĚthis
? / F , > -
LearningScript
F A 9 @ ? 2 1 A : < . . A @ 2 / @ ? 2 9 @ : A + = A : 2 + E 2 1 A : > 9 ? ? G 2 1 A : < . . A @ 2 * + F , + @ A @ 2 D
tŚLJĚŽ/ĞǀĞŶŵĞŶƟŽŶƵƐŝŶŐthisĂƚƚŚŝƐƟŵĞ͍>ĂƚĞƌŽŶǁŚĞŶǁĞŐĞƚ
ŝŶƚŽƚŚĞ^ƚĂƚĞDĂĐŚŝŶĞ͕ǁĞǁŝůůďĞƵƐŝŶŐthis͘/ǁĂŶƚLJŽƵƚŽďĞĂǁĂƌĞŽĨ
ǁŚĂƚthisŝƐ͕ĂƐƵďƐƟƚƵƚĞĨŽƌƚŚĞĐƵƌƌĞŶƚŝŶƐƚĂŶĐĞŽďũĞĐƚŽĨĂĐůĂƐƐ͘
[ 96 ]
i j k l m n o p
ĂƩĂĐŚĞĚƚŽƚŚĞDĂŝŶĂŵĞƌĂĂůƌĞĂĚLJ͘dŚĞĨŽůůŽǁŝŶŐĚŝĂŐƌĂŵǁŝůůĞdžƉůĂŝŶŚŽǁƚŚŝƐŝƐĚŽŶĞ͗
3
Component
4
Component variable or method
7LPHIRUDFWLRQ²FRPPXQLFDWLQJZLWKDQRWKHU&RPSRQHQWRQ
the Main Camera
>ĞƚΖƐĐƌĞĂƚĞĂŶŽƚŚĞƌƐĐƌŝƉƚǁŝƚŚĂǀĂƌŝĂďůĞĂŶĚĂŵĞƚŚŽĚ͕ĂŶĚĂƩĂĐŚŝƚƚŽƚŚĞDĂŝŶĂŵĞƌĂ
G
LearningScriptĐŽŵŵƵŶŝĐĂƚĞǁŝƚŚŝƚ͗
2 1 A @ 1 9 B A
η^ĐƌŝƉƚ
ó ô
TalkToMe
@ @ / 2 - G : . A 9 2 A 9 @ + 2 1 A . 9 @ C @ 9 F A / 2 D
! )
õ ô
ö ô
hereItIs
? ? / 0 @ ? + F A 2 A ì 2 2 + D
'
ô
.
public MakeMeTalk()
9 ; A 9 F A 2 1 + C @ 9 F A C D
#
ŽŶƐŽůĞ
ô
/
MakeMeTalk()
9 B A + < 2 , < 2 ? + F A 2 A ì 2 2 + 2 1 A D
&
ƩĂĐŚMakeMeTalk() DĂŝŶĂŵĞƌĂ͘EŽǁƚŚĞĐŽĚĞƐŚŽƵůĚůŽŽŬƐŽŵĞƚŚŝŶŐ
Y ô
2 + 2 1 A
> / ; A 2 1 / ? I
[ 97 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
ô
q
LearningScript TalkToMe
+ C / E - 2 + . A 2 . / A B A 2 1 A * + F , + @ A @ 2 D
#
r ô
LearningScript hereItIs.
+ C / E - 2 + . A 2 . / A B A 2 1 A C 9 2 9 / @
#
MakeMeTalk()ŵĞƚŚŽĚ͘EŽǁƚŚĞĐŽĚĞ
s ô
LearningScript
+ C / E - 2 + : 9 > > 2 1 A
#
ƐŶŝƉƉĞƚƐŚŽƵůĚůŽŽŬĂƐĨŽůůŽǁƐ͗
ó t ô
J 9 B A - + < . ? : . / , 2 ? D
WůĂLJ
ó ó ô
* > / : ; + @ / @ @ / 2 - D
)
LearningScript
1 A * + F , + @ A @ 2 : + C A . A 2 . / A B A C 9 B 9 . / 9 = > A 9 @ C : 9 > > A C 9 F A 2 1 + C + @
TalkToMeŽŵƉŽŶĞŶƚ͘>ĞƚΖƐĨŽůůŽǁƚŚĞĐŽĚĞŇŽǁǁŝƚŚƚŚĞƐĞƚǁŽŽŵƉŽŶĞŶƚƐ͘
2 1 A
[ 98 ]
i j k l m n o p
ŶĂŶĂůLJƐŝƐŽĨƚŚĞĐŽĚĞƐŚŽǁŶŝŶƚŚĞƉƌĞǀŝŽƵƐĐŽĚĞƐĐƌĞĞŶƐŚŽƚŝƐĂƐĨŽůůŽǁƐ͗
LearningScript:
# @
>ŝŶĞϲ͗TalkToMe otherComponent;
otherComponent TalkToMe
B 9 . / 9 = > A / ? C A : > 9 . A C 2 + ? 2 + . A 9 B 9 > < A + E 2 - , A
'
TalkToMeŽŵƉŽŶĞŶƚŽďũĞĐƚǁŝůůďĞĐƌĞĂƚĞĚĂŶĚƐƚŽƌĞĚŝŶƚŚĞǀĂƌŝĂďůĞ
'
otherComponent
otherComponent = GetComponent<TalkToMe>();
K / @ A 6 5 I
Start()ŵĞƚŚŽĚǁŚŝĐŚhŶŝƚLJĐĂůůƐŽŶůLJŽŶĐĞƚŽ
A F A F = A . G 2 1 / ? / ? / @ 2 1 A
"
ŝŶŝƟĂůŝnjĞǀĂƌŝĂďůĞƐ͘
GetComponent<T>()
1 A 0 A @ A . / : B A . ? / + @ + E 2 1 A F A 2 1 + C / ? : 9 > > A C 2 + . A 2 . / A B A 9
TalkToMe
. A E A . A @ : A 2 + 2 1 A * + F , + @ A @ 2 + = A : 2 D 1 / ? / ? / 2 A F 7 + @ 2 1 A , . A B / + < ? 0 . 9 , 1 / :
ƵŶĚĞƌƚŚĞƐĞĐƟŽŶ͕ĐĐĞƐƐŝŶŐĂŶŽƚŚĞƌŽŵƉŽŶĞŶƚŽŶƚŚĞĐƵƌƌĞŶƚ'ĂŵĞKďũĞĐƚ
D
<T>
1 A , 9 . 2 / ? 2 1 A 2 - , A + E * + F , + @ A @ 2 G 2 1 A : > 9 ? ? @ 9 F A G 2 1 9 2 2 1 A F A 2 1 + C
ǁŝůůƌĞƚƵƌŶ͘
otherComponent͘tŚLJ͍^ŽƚŚĂƚĞǀĞƌLJ
1 / ? . A E A . A @ : A / ? ? 2 + . A C / @ 2 1 A B 9 . / 9 = > A
ƟŵĞǁĞŶĞĞĚƚŽƵƐĞƚŚĞTalkToMeŽŵƉŽŶĞŶƚǁŝƚŚŽƚ^LJŶƚĂdž͕ǁĞĐĂŶ
otherComponent
< ? 2 < ? A 2 1 A . A E A . A @ : A ? 2 + . A C / @ / @ ? 2 A 9 C + E 1 9 B / @ 0 2 + < ? A
GetComponent<TalkToMe>()ĞĂĐŚƟŵĞ͘
otherComponent ŽŶƐŽůĞ
1 / ? > / @ A + E : + C A ? A @ C ? 2 1 A B 9 > < A ? 2 + . A C / @ 2 + 2 1 A @ / 2 -
)
ƐŽǁĞĐĂŶƐĞĞƚŚĞƌĞĨĞƌĞŶĐĞƚŚĂƚΖƐƉŽŝŶƟŶŐƚŽƚŚĞTalkToMe
* + F , + @ A @ 2 + = A : 2
Debug.Log(otherComponent.hereItIs);
K / @ A 4 5 I
hereItIs
¤ + 2 J - @ 2 9 ì / ? < ? A C 2 + > + : 9 2 A 9 @ C . A 2 . / A B A 2 1 A B 9 > < A ? 2 + . A C / @ 2 1 A B 9 . / 9 = > A
TalkToMeŽŵƉŽŶĞŶƚŽďũĞĐƚ͘dŚŝƐŝƐŝƚĞŵϰŝŶƚŚĞŐƌĂƉŚŝĐƵŶĚĞƌƚŚĞƐĞĐƟŽŶ͕
+ E 2 1 A
ĐĐĞƐƐŝŶŐĂŶŽƚŚĞƌŽŵƉŽŶĞŶƚŽŶƚŚĞĐƵƌƌĞŶƚ'ĂŵĞKďũĞĐƚ
D
hereItIsǀĂƌŝĂďůĞŝƐĚĞĐůĂƌĞĚŽŶůŝŶĞϲŽĨƚŚĞTalkToMe
1 A : > 9 ? ? D
EŽƟĐĞƚŚĂƚhereItIs public
/ ? ? + 2 1 9 2 / 2 : 9 @ = A 9 : : A ? ? A C E . + F + 2 1 A . ? : . / , 2 ? D
/ĨǁĞĚŝĚŶΖƚƵƐĞotherComponent͕ǁĞǁŽƵůĚŚĂǀĞǁƌŝƩĞŶƚŚĞŽƚ^LJŶƚĂdž
ĞdžƉƌĞƐƐŝŽŶůŝŬĞƚŚĞĨŽůůŽǁŝŶŐůŝŶĞŽĨĐŽĚĞ͗
GetComponent<TalkToMe>().hereItIs
dŚĞĨŽůůŽǁŝŶŐŝƐĂƐĐƌĞĞŶƐŚŽƚŽĨƚŚĞ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ
A ì 9 F , > A I
[ 99 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
ƚƚŚĞƚŝŵĞŽĨƚŚŝƐǁƌŝƚŝŶŐ͕hŶŝƚLJǁĂƐƵƉĚĂƚŝŶŐŝƚƐĚŽĐƵŵĞŶƚĂƚŝŽŶ͘dŚĞƉĂŐĞ
ǁĂƐŶŽƚĐŽŵƉůĞƚĞ͘dŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚŝƐƚŚĞŽůĚƉĂŐĞ͖ŚŽǁĞǀĞƌ͕ƚŚĞ
ý ÿ ÿ ý ? ú ý
otherComponent.MakeMeTalk();
K / @ A 4 6 I
MakeMeTalk() TalkToMe
¤ + 2 J - @ 2 9 ì / ? < ? A C 2 + > + : 9 2 A 9 @ C : 9 > > 2 1 A F A 2 1 + C + E 2 1 A
* + F , + @ A @ 2 + = A : 2
ŽĚĞŇŽǁŶŽǁũƵŵƉƐŽǀĞƌƚŽƚŚĞTalkToMeĐůĂƐƐ͘dŚŝƐŝƐĂůƐŽŝƚĞŵϰŝŶƚŚĞŐƌĂƉŚŝĐ
ƵŶĚĞƌƚŚĞƐĞĐƟŽŶ͕ĐĐĞƐƐŝŶŐĂŶŽƚŚĞƌŽŵƉŽŶĞŶƚŽŶƚŚĞĐƵƌƌĞŶƚ'ĂŵĞKďũĞĐƚ
D
[ 100 ]
i j k l m n o p
TalkToMe
# @ I
MakeMeTalk() public
1 A F A 2 1 + C / ? ? + 2 1 9 2 / 2 : 9 @ = A : 9 > > A C E . + F + 2 1 A . ? : . / , 2 ?
ŽŶƐŽůĞ
2 ? : + C A = > + : ; ? / F , > - ? A @ C ? 9 ? 2 . / @ 0 + E 2 A ì 2 2 + 2 1 A @ / 2 -
! )
dŚĞĐŽĚĞďůŽĐŬĞŶĚƐĂŶĚĐŽĚĞŇŽǁƌĞƚƵƌŶƐƚŽƚŚĞLearningScript
: > 9 ? ?
LearningScript
# @ I
}
K / @ A 4 4 I
ŇŽǁŚĂƐŶŽǁƌĞĂĐŚĞĚƚŚĞĞŶĚŽĨƚŚĞifƐƚĂƚĞŵĞŶƚǁŚŝĐŚďĞŐĂŶŽŶůŝŶĞϭϳ͕
* + C A
ĂŶĚŝƐǁĂŝƟŶŐƚŽĚĞƚĞĐƚŝĨǁĞƉƌĞƐƐƚŚĞZĞƚƵƌŶ
; A - 9 0 9 / @
ĞĨŽƌĞLJŽƵƉƌŽĐĞĞĚĨƵƌƚŚĞƌǁŝƚŚƚŚĞŶĞdžƚƐĞĐƟŽŶ͕ƌĞŵŽǀĞƚŚĞTalkToMe
DĂŝŶĂŵĞƌĂ͘tĞĂƌĞĚŽŶĞǁŝƚŚƚŚŝƐƐĐƌŝƉƚƐŽƚŚĞƌĞΖƐ
T ü ü û
ü ÿ ü ÿ ý ü ú ? ý ü þ ú ü ý ÿ T ü ü ÿ ú ü þ ý ü þ ú û ü
5
GameObject
6
GameObject Component
7
GameObject Component variable or method
[ 101 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
7LPHIRUDFWLRQ²FUHDWLQJWZR*DPH2EMHFWVDQGDQHZVFULSW
/ǁĂŶƚLJŽƵƚŽĐƌĞĂƚĞŽŶĞƐĐƌŝƉƚƚŚĂƚǁŝůůďĞĂƩĂĐŚĞĚƚŽƚǁŽ'ĂŵĞKďũĞĐƚƐ͘dŚĞƐĐƌŝƉƚǁŝůůŚĂǀĞ
ƚǁŽŵĞƚŚŽĚƐƚŚĂƚǁŝůůĐĂƵƐĞƚŚĞ'ĂŵĞKďũĞĐƚƐƚŽƌŽƚĂƚĞůĞŌĂŶĚƌŝŐŚƚ͘dŚŝƐǁŝůůƐŚŽǁLJŽƵƚŚĂƚ
ĨƌŽŵĂƐŝŶŐůĞƐĐƌŝƉƚĮůĞ͕ƚǁŽƐĞƉĂƌĂƚĞŽŵƉŽŶĞŶƚŽďũĞĐƚƐǁŝůůďĞĐƌĞĂƚĞĚŝŶƚŚĞŵĞŵŽƌLJ͘ĂĐŚ
ŽŵƉŽŶĞŶƚŽďũĞĐƚŝƐĂƐĞƉĂƌĂƚĞŝŶƐƚĂŶĐĞŽďũĞĐƚǁŝƚŚŶŽĂďƐŽůƵƚĞůLJŬŶŽǁůĞĚŐĞŽĨƚŚĞŽƚŚĞƌ͘
^ĐĞŶĞ͕ĐƌĞĂƚĞƚǁŽ'ĂŵĞKďũĞĐƚƐ͕Capsule
ó ô
Cube
@ - + < . 9 @ C D
!
ŝƌĞĐƟŽŶĂů>ŝŐŚƚ ^ĐĞŶĞ
õ ô
C C 9 2 + 2 1 A ? + - + < : 9 @ A 9 ? / > - ? A A 2 1 A 9 F A # = A : 2 ? D
' %
,ĞƌĞΖƐŵLJ^ĐĞŶĞ
ö ô
9 ? 9 @ A ì 9 F , > A I
ƌĞĂƚĞĂŶĞǁη^ĐƌŝƉƚĂŶĚŶĂŵĞŝƚ^ƉŝŶŶĞƌ͘
ô
.
ŽĚĞƚŚĞƐĐƌŝƉƚĂƐƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͗
ô
/
[ 102 ]
i j k l m n o p
? : . / , 2 2 + 2 1 A 9 @ C 2 1 A 9 F A # = A : 2 ? D
%
LeaningScriptĂƐƐŚŽǁŶŝŶƚŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚ͗
ô
q
+ C / E -
#
ĮůĞ͘
r ô
J 9 B A 2 1 A
WůĂLJ
s ô
@ @ / 2 - G : > / : ; + @ D
! )
[ 103 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
EŽǁƉƌĞƐƐƚŚĞůĞŌĂŶĚƌŝŐŚƚĂƌƌŽǁŬĞLJƐƚŽŵĂŬĞƚŚĞĂƉƐƵůĞƐƉŝŶ͕ĂŶĚƚŚĞƵƉĂŶĚĚŽǁŶ
ĂƌƌŽǁŬĞLJƐƚŽŵĂŬĞƚŚĞƵďĞƐƉŝŶ͘
zŽƵĐƌĞĂƚĞĚŽŶĞ Spinner͕ƚŚĞŶĂƩĂĐŚĞĚƚŚĞƐĐƌŝƉƚƚŽƚǁŽƐĞƉĂƌĂƚĞ
? : . / , 2 @ 9 F A C
WůĂLJ͕ƚǁŽƐĞƉĂƌĂƚĞSpinner
9 F A # = A : 2 ? D 1 A @ - + < : > / : ; + @ * + F , + @ A @ 2 + = A : 2 ? 9 . A
%
ĐƌĞĂƚĞĚŝŶƚŚĞĐŽŵƉƵƚĞƌŵĞŵŽƌLJ͘dŚŝƐŝƐĂŶĞdžĂŵƉůĞŽĨŚŽǁƚŚĞSpinner
: > 9 ? ? / ? < ? 2
ĂďůƵĞƉƌŝŶƚ͕ĂĚĞƐĐƌŝƉƟŽŶ͕ŽĨǁŚĂƚĞĂĐŚŽŵƉŽŶĞŶƚŽďũĞĐƚĐƌĞĂƚĞĚǁŝůůďĞ͘
LearningScript Spinner
+ 9 : : A ? ? A 9 : 1 * + F , + @ A @ 2 E . + F 2 1 A * + F , + @ A @ 2 G - + < @ A A C
ƚŽŬŶŽǁĂďŽƵƚĞĂĐŚ'ĂŵĞKďũĞĐƚƚŚĂƚƚŚĞSpinnerŽŵƉŽŶĞŶƚŝƐĂƩĂĐŚĞĚƚŽ͘
dŚŝƐĐŽĚĞŝƐũƵƐƚĂƐŝŵƉůĞĚĞŵŽŶƐƚƌĂƟŽŶƚŽƐŚŽǁŚŽǁŽƚ^LJŶƚĂdžǁŽƌŬƐ͘
> ü û ú ý ú ú ? ú
T ü ü
ÿ û ý ü
^ ü
ŽƚŚĞƌŚĂŶĚ͕ƉĞƌŚĂƉƐLJŽƵŵĂLJǁĂŶƚĂĐůĂƐƐĚĞĚŝĐĂƚĞĚƚŽƉƌŽĐĞƐƐŝŶŐƵƐĞƌ
ŝŶƉƵƚ͘dŚĂƚΖƐƚŚĞŶĞĂƚƚŚŝŶŐĂďŽƵƚǁƌŝƟŶŐĐŽĚĞ͕ƚŚĞƌĞĂƌĞĂnjŝůůŝŽŶǁĂLJƐƚŽ
ú
ý ÿ ú ú ÿ
ŶĂŶĂůLJƐŝƐŽĨƚŚĞĐŽĚĞƐŚŽǁŶŝŶƚŚĞƉƌĞǀŝŽƵƐĐŽĚĞƐĐƌĞĞŶƐŚŽƚŝƐĂƐĨŽůůŽǁƐ͗
LearningScript
# @ I
>ŝŶĞϲ͗GameObject capsuleGO;
GameObject
B 9 . / 9 = > A + E 2 - , A / ? C A : > 9 . A C
'
dŚĞǀĂůƵĞƚŚŝƐǁŝůůƐƚŽƌĞŝƐĂƌĞĨĞƌĞŶĐĞƚŽƚŚĞĂƉƐƵůĞ ^ĐĞŶĞ
/ @ 2 1 A
>ŝŶĞϳ͗Spinner cubeComp;
Spinner
B 9 . / 9 = > A + E 2 - , A / ? C A : > 9 . A C
'
dŚĞǀĂůƵĞƚŚŝƐǁŝůůƐƚŽƌĞŝƐĂƌĞĨĞƌĞŶĐĞƚŽĂSpinner
* + F , + @ A @ 2 + = A : 2 : . A 9 2 A C E . + F
Spinner
2 1 A : > 9 ? ?
[ 104 ]
i j k l m n o p
>ŝŶĞϵ͗void Start()
Start()ŵĞƚŚŽĚŝƐƵƐĞĚƚŽĂůůŽǁƚŚĞƚǁŽǀĂƌŝĂďůĞƐƚŽďĞŝŶŝƟĂůŝnjĞĚ
1 A
A F A F = A . G 2 1 / ? F A 2 1 + C / ? : 9 > > A C + @ > - + @ : A
"
capsuleGO = GameObject.Find("Capsule");
K / @ A 6 6 I
ĂƉƐƵůĞ capsuleGO
1 A . A E A . A @ : A 2 + 2 1 A 9 F A # = A : 2 / ? 9 ? ? / 0 @ A C 2 + 2 1 A B 9 . / 9 = > A
%
1 / ? / ? / 2 A F L / @ 2 1 A , . A B / + < ? 0 . 9 , 1 / : 9 @ C 9 > ? + + @ 2 1 A , . A B / + < ? : + C A ? : . A A @ ? 1 + 2
Debug.Log(capsuleGO);
K / @ A 6 4 I
dŚŝƐůŝŶĞǁĂƐĂĚĚĞĚũƵƐƚƚŽƐŚŽǁƚŚĂƚƚŚĞĂƉƐƵůĞ
9 F A # = A : 2 / ? / @ E 9 : 2 . A E A . A @ : A C
%
capsuleGO
/ @ 2 1 A B 9 . / 9 = > A
cubeComp = GameObject.Find("Cube").GetComponent<Spinner>();
K / @ A 6 7 I
dŚŝƐůŝŶĞƐŚŽǁƐŚŽǁƚŽƌĞƚƌŝĞǀĞĂŽŵƉŽŶĞŶƚŽŶĂ'ĂŵĞKďũĞĐƚ
Spinner
1 / ? . A 2 . / A B A C . A E A . A @ : A 2 + 2 1 A * + F , + @ A @ 2 + = A : 2 / ? + @ 2 1 A
ƵďĞ
9 F A # = A : 2
%
ŝƚĞŵϲŽŶƚŚĞƉƌĞǀŝŽƵƐŐƌĂƉŚŝĐĂŶĚĂůƐŽŽŶƚŚĞƉƌĞǀŝŽƵƐĐŽĚĞƐĐƌĞĞŶƐŚŽƚ
1 / ? / ?
>ŝŶĞϭϰ͗Debug.Log(cubeComp);
dŚŝƐůŝŶĞǁĂƐĂĚĚĞĚũƵƐƚƚŽƐŚŽǁƚŚĂƚƚŚĞSpinner ƵďĞ
* + F , + @ A @ 2 / ? , 9 . 2 + E 2 1 A
cubeComp
9 F A # = A : 2 G 9 @ C / ? / @ E 9 : 2 . A E A . A @ : A C / @ 2 1 A B 9 . / 9 = > A
%
>ŝŶĞϭϵ͗if(Input.GetKey(KeyCode.LeftArrow)
ifƐƚĂƚĞŵĞŶƚĐŚĞĐŬƐƚŽƐĞĞŝĨƚŚĞƵƐĞƌŚĂƐƉƌĞƐƐĞĚƚŚĞůĞŌĂƌƌŽǁŬĞLJ
1 / ?
E , . A ? ? A C G K / @ A 4 6 + E 2 1 A : + C A = > + : ; / ? A ì A : < 2 A C
!
capsuleGO.GetComponent<Spinner>().SpinLeft();
K / @ A 4 6 I
dŚŝƐůŝŶĞƐŚŽǁƐƵƐŝŶŐŽƚ^LJŶƚĂdžƚŽůŽĐĂƚĞĂŵĞƚŚŽĚŝŶĂŽŵƉŽŶĞŶƚŽĨ
9 @ + 2 1 A . 9 F A # = A : 2 D
%
CapsuleGOǀĂƌŝĂďůĞƐƵďƐƟƚƵƚĞƐƚŚĞƌĞĨĞƌĞŶĐĞƚŽƚŚĞĂƉƐƵůĞ
1 A 9 F A # = A : 2
%
Spinner ĂƉƐƵůĞ
1 A * + F , + @ A @ 2 + = A : 2 / ? > + : 9 2 A C + @ 2 1 A 9 F A # = A : 2
%
SpinLeft() Spinner
1 A F A 2 1 + C / ? : 9 > > A C / @ 2 1 A * + F , + @ A @ 2 + E 2 1 A
ĂƉƐƵůĞ
9 F A # = A : 2
%
ŽĚĞŇŽǁŶŽǁũƵŵƉƐƚŽƚŚĞSpinner
* + F , + @ A @ 2 + = A : 2
[ 105 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
^ƉŝŶŶĞƌ;ŽŶƚŚĞĂƉƐƵůĞͿ͗
SpinLeft() LearningScript
1 / ? / ? 2 1 A F A 2 1 + C : 9 > > A C E . + F 2 1 A + = A : 2
>ŝŶĞϴŝŶƚŚĞĐŽĚĞďůŽĐŬŝƐĞdžĞĐƵƚĞĚ
>ŝŶĞϴ͗transform.Rotate(0, 0, 60 * Time.deltaTime);
Rotate() TransformŽŵƉŽŶĞŶƚŽďũĞĐƚŝƐĐĂůůĞĚǁŚŝĐŚ
1 A F A 2 1 + C + @ 2 1 A : 9 < ? A ?
ƚŚĞĂƉƐƵůĞƚŽƐƉŝŶĂƌŽƵŶĚƚŚĞnjͲĂdžŝƐ
EŽƟĐĞƚŚŽƵŐŚ͕ƚŚĂƚƚŚĞǀĂƌŝĂďůĞŶĂŵĞĚtransform
/ ? < ? A C / @ 2 1 A ¤ + 2 J - @ 2 9 ì
GetComponent<Transform>()
? 2 9 2 A F A @ 2 / @ ? 2 A 9 C + E 2 1 A F A 2 1 + C
Transform
@ / 2 - 1 9 ? ? A B A . 9 > = < / > 2 / @ * + F , + @ A @ 2 ? G ? < : 1 9 ? 2 1 A * + F , + @ A @ 2 : > 9 ? ?
) (
GameObject ^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞĂŶĚŶŽƟĐĞƚŚĂƚŽŶĞŽĨƚŚĞ
/ @ C 2 1 A : > 9 ? ? / @ 2 1 A
H
transform
B 9 . / 9 = > A ? / ? @ 9 F A C
GetComponent()
@ ? 2 A 9 C + E 1 9 B / @ 0 2 + < ? A 2 1 A F A 2 1 + C + @ 9 9 F A # = A : 2 G
! %
@ / 2 - 1 9 ? , . + B / C A C 9 : + @ B A @ / A @ 2 B 9 . / 9 = > A 9 > . A 9 C - 9 ? ? / 0 @ A C 2 1 A B 9 > < A + E 2 1 A
)
Transform
* + F , + @ A @ 2
dŚĞĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚƐŚŽǁƐƚŚĞtransform
B 9 . / 9 = > A C A ? : . / = A C / @ 2 1 A
^ĐƌŝƉƟŶŐZĞĨĞƌĞŶĐĞ
I
Rotate()ŵĞƚŚŽĚƐŚŽǁƐϯĂƌŐƵŵĞŶƚƐďĞŝŶŐƐĞŶƚƚŽƚŚĞŵĞƚŚŽĚ͘
1 A
/ŶƚŚŝƐĞdžĂŵƉůĞ͕ƚŚĞĂƉƐƵůĞŝƐƌŽƚĂƟŶŐϲϬĚĞŐƌĞĞƐƉĞƌƐĞĐŽŶĚŽŶƚŚĞnjͲĂdžŝƐ͘
ŽĚĞŇŽǁŶŽǁƌĞƚƵƌŶƐƚŽƚŚĞLearningScript
+ = A : 2 D
[ 106 ]
i j k l m n o p
On LearningScript:
>ŝŶĞϮϰ͗if(Input.GetKey(KeyCode.RightArrow)
ifƐƚĂƚĞŵĞŶƚĐŚĞĐŬƐŝĨƚŚĞƵƐĞƌŚĂƐƉƌĞƐƐĞĚƚŚĞƌŝŐŚƚĂƌƌŽǁŬĞLJ
1 / ?
/ĨƉƌĞƐƐĞĚ͕ůŝŶĞϮϲŽĨƚŚĞĐŽĚĞďůŽĐŬŝƐĞdžĞĐƵƚĞĚ
>ŝŶĞϮϲ͗capsuleGO.GetComponent<Spinner>().SpinRight();
SpinRight()
1 / ? / ? 9 > F + ? 2 9 @ A ì 9 : 2 . A , A 9 2 + E > / @ A 4 6 G A ì : A , 2 2 1 A F A 2 1 + C
/ ? = A / @ 0 : 9 > > A C
>ŝŶĞϮϵ͗if(Input.GetKey(KeyCode.UpArrow)
ifƐƚĂƚĞŵĞŶƚĐŚĞĐŬƐŝĨƚŚĞƵƐĞƌŚĂƐƉƌĞƐƐĞĚƚŚĞƵƉĂƌƌŽǁŬĞLJ
1 / ?
E , . A ? ? A C G > / @ A 7 6 + E 2 1 A : + C A = > + : ; / ? A ì A : < 2 A C
!
cubeComp.SpinLeft();
K / @ A 7 6 I
dŚŝƐŝƐĚŝīĞƌĞŶƚƚŚĂŶůŝŶĞƐϮϭĂŶĚϮϲ
cubeComp
A E A . = 9 : ; 2 + > / @ A 6 7 D 1 A B 9 . / 9 = > A 9 > . A 9 C - ? 2 + . A ? 2 1 A . A E A . A @ : A 2 + 2 1 A
"
ƵďĞ Spinner
9 F A # = A : 2 9 @ C 2 1 A * + F , + @ A @ 2 + = A : 2 G 2 1 A . A E + . A O < ? 2 2 1 A B 9 . / 9 = > A
%
cubeComp SpinLeft()
/ ? @ A A C A C / @ 2 1 A ¤ + 2 J - @ 2 9 ì 2 + : 9 > > 2 1 A F A 2 1 + C + @ 2 1 A
ƵďĞ
9 F A # = A : 2
%
ŽĚĞŇŽǁŝƐƐŝŵŝůĂƌƚŽůŝŶĞϴ͕ĞdžĐĞƉƚƚŚĂƚƚŚĞƵďĞƌŽƚĂƚĞƐŶŽǁ
>ŝŶĞϯϰ͗if(Input.GetKey(KeyCode.DownArrow)
ifƐƚĂƚĞŵĞŶƚĐŚĞĐŬƐƚŽƐĞĞŝĨƚŚĞƵƐĞƌŚĂƐƉƌĞƐƐĞĚƚŚĞĚŽǁŶĂƌƌŽǁŬĞLJ
1 / ?
/ĨƉƌĞƐƐĞĚ͕ůŝŶĞϯϲŽĨƚŚĞĐŽĚĞďůŽĐŬŝƐĞdžĞĐƵƚĞĚ͕ƐƉŝŶŶŝŶŐƚŚĞƵďĞƌŝŐŚƚ
+DYHDJRKHUR²FUHDWLQJDQGXVLQJDQHZYDULDEOHQDPHGFDSVXOH&RPS
LearningScript͕ůŝŶĞƐϮϭĂŶĚϯϭƉĞƌĨŽƌŵƚŚĞƐĂŵĞĨƵŶĐƟŽŶĂůŝƚLJŽĨĐĂůůŝŶŐƚŚĞ
@
!
SpinLeft() SpinnerŽŵƉŽŶĞŶƚƐ͘zĞƚƚŚĞĐŽĚĞŽŶĞĂĐŚůŝŶĞŝƐǀĞƌLJ
F A 2 1 + C + @ 2 1 A / .
ĚŝīĞƌĞŶƚ͘dŚĞĚŝīĞƌĞŶĐĞŝƐƚŚĂƚcubeCompĂůƌĞĂĚLJƐƚŽƌĞƐĂƌĞĨĞƌĞŶĐĞƚŽƚŚĞƵďĞΖƐSpinner
capsuleCompǀĂƌŝĂďůĞƚŽƐƚŽƌĞĂƌĞĨĞƌĞŶĐĞƚŽƚŚĞĂƉƐƵůĞΖƐ
* + F , + @ A @ 2 D 1 A . A / ? @ +
Spinner
* + F , + @ A @ 2 D
dƌLJĐƌĞĂƟŶŐĂcapsuleCompǀĂƌŝĂďůĞĂŶĚƐƚŽƌĞĂƌĞĨĞƌĞŶĐĞƚŽƚŚĞĂƉƐƵůĞΖƐSpinner
ŽŵƉŽŶĞŶƚ͘dŚĞŶĐŚĂŶŐĞůŝŶĞƐϮϭĂŶĚϮϲƚŽƵƐĞcapsuleComp
D
[ 107 ]
hƐŝŶŐŽƚ^LJŶƚĂdžĨŽƌKďũĞĐƚŽŵŵƵŶŝĐĂƟŽŶ
^ŝdžŵŽŶƚŚƐĨƌŽŵŶŽǁ͕ǁŚĞŶLJŽƵĂƌĞƚŚĞƐƚƌĂŶŐĞƌůŽŽŬŝŶŐĂƚLJŽƵƌŽǁŶĐŽĚĞ͕
LJŽƵŵĂLJůŽŽŬĂƚŝƚĂŶĚǁŽŶĚĞƌǁŚLJLJŽƵƌĐŽĚĞůŽŽŬƐŝŶĐŽŵƉůĞƚĞ͘/ƚΖƐLJŽƵƌ
ŐĂŵĞƚŚŽƵŐŚ͕ƐŽLJŽƵĐĂŶĐƌĞĂƚĞŝƚĂŶLJǁĂLJLJŽƵƉůĞĂƐĞ͘/ΖŵũƵƐƚƐĂLJŝŶŐ͕ĚŽŶΖƚ
ŐŽŚŽŐǁŝůĚǁŝƚŚĚƌĂŐͲĂŶĚͲĚƌŽƉĂŶĚƚŚĞŶůĂƚĞƌǁŽŶĚĞƌǁŚĂƚŝƚǁĂƐLJŽƵǁĞƌĞ
û ý ü þ ú
ý ÿ
7LPHIRUDFWLRQ²WU\LQJGUDJDQGGURSWRDVVLJQD*DPH2EMHFW
>ĞƚΖƐĐŚĂŶŐĞĂĨĞǁ LearningScriptƚŽƐŚŽǁŚŽǁƚŽ ĂƉƐƵůĞ
> / @ A ? + E : + C A / @ 9 ? ? / 0 @ 2 1 A
capsuleGO
9 F A # = A : 2 2 + 2 1 A B 9 . / 9 = > A < ? / @ 0 C . 9 0 9 @ C C . + , D
% ( (
ŝƚŚĞƌĐŽŵŵĞŶƚŽƵƚůŝŶĞϭϭƵƐŝŶŐϮĨŽƌǁĂƌĚƐůĂƐŚĞƐ;//
ó ô
G + . . A F + B A / 2 D
KŶůŝŶĞϲ͕ĂĚĚƚŚĞĂĐĐĞƐƐŵŽĚŝĮĞƌpublic
õ ô
public
> / ; A 2 1 / ? I
GameObject capsuleGO;
^ĂǀĞƚŚĞĮůĞ͘
ö ô
DĂŝŶĂŵĞƌĂ
ô
.
@ @ / 2 - G ? A > A : 2 2 1 A 9 F A # = A : 2 D
! ) %
ĂƉƐƵůĞ ĂƉƐƵůĞ'KĮĞůĚŝŶƚŚĞ
ô
/
¤ . 9 0 2 1 A 2 + 2 1 A D 1 A
ĨŽůůŽǁŝŶŐƐĐƌĞĞŶƐŚŽƚƐŚŽǁƐŚŽǁƚŚŝƐŝƐĚŽŶĞ͘
WůĂLJ
Y ô
* > / : ; + @ D
[ 108 ]
i j k l m n o p
ǁƌŝƚĞƚŚĞĐŽĚĞďĞĐĂƵƐĞhŶŝƚLJŚĂƐĚŽŶĞƚŚĞĂƐƐŝŐŶŵĞŶƚŝŶƚĞƌŶĂůůLJĨŽƌƵƐ͘ůƐŽ͕ƚŚŝƐĚŽĞƐŶΖƚ
LearningScriptŝŶĂŶLJǁĂLJ͘
: 1 9 @ 0 A
3RSTXL]²XQGHUVWDQGLQJFRPPXQLFDWLRQEHWZHHQREMHFWV
Yϭ͘tŚĂƚŝƐŽƚ^LJŶƚĂdž͕ĂŶĚǁŚĂƚĚŽĞƐŝƚĂůůŽǁLJŽƵƚŽĚŽ͍
YϮ͘tŚĞŶĂŶŽďũĞĐƚŝƐĂƐƐŝŐŶĞĚƚŽĂǀĂƌŝĂďůĞ͕ǁŚĂƚŝƐĂĐƚƵĂůůLJƐƚŽƌĞĚŝŶƚŚĞǀĂƌŝĂďůĞ͍
Yϯ͘ƌĞƚŚĞƌĞĂŶLJůŝŵŝƚƐƚŽƵƐŝŶŐŽƚ^LJŶƚĂdžǁŚĞŶƚƌLJŝŶŐƚŽĂĐĐĞƐƐǀĂƌŝĂďůĞƐĂŶĚŵĞƚŚŽĚƐ͍
Yϰ͘tŚĂƚŝƐĂŶŽƚŚĞƌǁĂLJƚŽĂƐƐŝŐŶ'ĂŵĞKďũĞĐƚƐƚŽǀĂƌŝĂďůĞƐďĞƐŝĚĞƐǁƌŝƟŶŐĐŽĚĞ͍
Summary
1 + , A - + < 1 9 B A C / ? : + B A . A C 2 1 9 2 ¤ + 2 J - @ 2 9 ì / ? 9 : 2 < 9 > > - 9 ? / F , > A , . + : A ? ? E + . 9 : : A ? ? / @ 0 + 2 1 A .
!
ŽďũĞĐƚƐ͘/ƚΖƐƚŚŝƐĂďŝůŝƚLJƚŽĐŽŵŵƵŶŝĐĂƚĞďĞƚǁĞĞŶŽďũĞĐƚƐƚŚĂƚŵĂŬĞKKWƐŽƉŽǁĞƌĨƵů͘ĂƚĂŝƐ
; A , 2 / @ + = A : 2 ? G 9 @ C F A 2 1 + C ? 9 . A : 9 > > A C + @ 9 @ + = A : 2 2 + 0 A 2 2 1 / @ 0 ? C + @ A D ¤ + 2 J - @ 2 9 ì / ? < ? 2 9 @
9 C C . A ? ? 2 + A 9 ? / > - 9 : : A ? ? C 9 2 9 9 @ C F A 2 1 + C ? + @ + = A : 2 ? D
ůůƌŝŐŚƚ͕ǁĞΖǀĞĐŽǀĞƌĞĚƚŚĞǀĞƌLJďĂƐŝĐƐŽĨηƐĐƌŝƉƟŶŐĨŽƌhŶŝƚLJ͘ŽŶŐƌĂƚƵůĂƟŽŶƐ͊
/ŶƚŚĞŶĞdžƚĐŚĂƉƚĞƌ͕/ΖŵŐŽŝŶŐƚŽƚĂŬĞLJŽƵƚŚƌŽƵŐŚĂĐŽŵďŝŶĂƟŽŶŽĨhŶŝƚLJĐŽĚŝŶŐĂŶĚŐĞŶĞƌĂů
ηĐŽĚŝŶŐƚŽĂĐƚƵĂůůLJĂƉƉůLJLJŽƵƌŶĞǁŬŶŽǁůĞĚŐĞ͘tĞǁŝůůƐƚĂƌƚůŽŽŬŝŶŐĂƚĂ^ƚĂƚĞDĂĐŚŝŶĞƚŽ
ǁŽƌŬǁŝƚŚhŶŝƚLJ͘zĞƐ͕ŝƚΖƐŐŽŝŶŐƚŽďĞĂƐŝŵƉůĞƐƚĂƚĞŵĂĐŚŝŶĞƚŽƐŚŽǁƚŚĞĐŽŶĐĞƉƚƐ͘zŽƵΖǀĞ
ũƵƐƚďĂƌĞůLJůĞĂƌŶĞĚηƐĐƌŝƉƟŶŐ͕ƐŽ/ΖŵŐŽŝŶŐƚŽĞĂƐĞLJŽƵŝŶƚŽƐŽŵĞŐĂŵĞĐƌĞĂƟŽŶǁŚŝĐŚǁŝůů
ŚĞůƉLJŽƵƐĞĞŚŽǁƚŽĂƉƉůLJƚŚĞĐŽŶĐĞƉƚƐƚŚĂƚLJŽƵΖǀĞũƵƐƚůĞĂƌŶĞĚ͘ĞƐŝĚĞƐ͕ďĞƚLJŽƵΖƌĞĚĂƌŶ
ƐŝĐŬĂŶĚƟƌĞĚŽĨĐŽŶƐƚĂŶƚůLJŵŽĚŝĨLJŝŶŐ͕ŽƌĐŽŵƉůĞƚĞůLJĐŚĂŶŐŝŶŐLearningScript
D
[ 109 ]