~cpp
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
:[] Smalltalk 기 #2 :
:() 1998-11-23 10:40 :392 1/34
Smalltalk 기 #2
1998. 11. 22.
mailto:andrea92@hitel.net
======================================
1. Smalltalk 개
1.1. 그과 그
→1.2. Smalltalk
1.3. Smalltalk 기 그
........
=======================================
1. Smalltalk 개
------------------------------
1.2. Smalltalk
~~~~~~~~~~~~~~~~~~~~~
Smalltalk 그 기
Smalltalk 경 . Object Arts
Dolphin Smalltalk , Dolphin Smalltalk
.
Dolphin Smalltalk 과 공개 Smalltalk 경 고
. Dolphin Smalltalk 1.1 공개, 2.1 .
고 고 경 1.1. 그
.
Object Arts 공 Dolphin981Setup.Exe
, 길 WinZip
. 그 Dolphin Smalltalk 기
과 과 거 .
1. Dolphin Smalltalk Dolphin Education Center
.
2. zip WinZip 과
그 .
3. ,
.
갑.
4. 그 그 <Next>
갑. 고 게 고
.
5. Dolphin Smalltalk 기
. .
게 과 게 .
기 게 .
Dolphin Smalltalk "그 /" 거
.
Dolphin Smalltalk 기 " → 그 → Dolphin
Smalltalk 98" "Dolphin Smalltalk 98"
.
---<깐!>-----------------------------------------------------------
Dolphin Smalltalk 경고
. , 금 고 Dolphin Smalltalk
거 기 그 결과
. 기 Object Arts
급 , 금 .
--------------------------------------------------------------------
1.3. Smalltalk 기 그
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Smalltalk Smalltalk 경
. 그 "Transcript" "Workspace" 개
. 개 Smalltalk 기
고 . 그 금 'Untitled -
Workspace' . "Welcome to Dolphin
Smalltalk/98" 과 .
Smalltalk 그 , 그
고 Smalltalk 그 Smalltalk
그 . 기 Smalltalk
그 고 그 결과 , Smalltalk
과 Smalltalk 그
게 겠.
고 Workspace ""고 . 기
Smalltalk 거, 그 결과
곳. '' ''
고 . 기
고 .
, (block)
개 .
기 , 곳 Smalltalk 고,
.
(scroll bar)
.
----------------------------------------------------------
"First evaluated by Smalltalk in October 1972, and by Dolphin in
February 1995. With a bit of luck the answer will be 7."
3 + 4.
----------------------------------------------------------
Smalltalk .
Smalltalk , 그고
결과 게 고 .
, Smalltalk 게 .
3 + 4.
. '.' .
<Ctrl-D> . 그고 .
(block) "7" .
3 + 4. ☞ 7
기 "7" 금 결
과. "3 + 4" "7" 결과
.
Smalltalk 그 결과
. <Delete> <Back
Space> 게 , 결
과 게 .
금 1972 10 Smalltalk 게
고 . Object Arts 1995 2 Dolphin
Smalltalk 군.
.
200 factorial.
갖 고, <Ctrl-D>
. 게 까?
200 factorial.
☞788657867364790503552363213932185062295135977687173263294742533244359
44996340334292030428401198462390417721213891963883025764279024263710506
19266249528299311134628572707633172373969889439224456214516642402540332
91864131227428294853277524242407573903240321257405579568660226031904170
32406235170085879617892222278962370389737472000000000000000000000000000
0000000000000000000000
금 200!, 200 계 구 .
결과 . 까? C++ Java
기 공 기 결과
.
---<깐!>----------------------------------------------------------
계?
계(階乘, factorial) n , 1 n까
곱 n (, 1994, ).
5! 5x4x3x2x1, 120 .
----------------------------------------------------------
그 Smalltalk 200! 구 과 간 걸까?
결과 . <Ctrl-D> .
Time millisecondsToRun: [200 factorial]. ☞ 1
! 200! 구 1ms 간 걸 고 그군.
1ms 1000 1, 200! 구
.
게 . . (
각 기 고 <Ctrl-D>
기고 계겠?)
Time microsecondsToRun: [200 factorial]. ☞ 1024
200! 구 걸 간 100 1 구
. 경 1024㎲ 간 걸. 기
결과 . 결과 간값기
고 감게 .
기 간값 . Smalltalk
100 1 간
.
Smalltalk 겠. Smalltalk 경
객(object) , 객 갈(class)
. Smalltalk 경 갈
.
Class allClasses asSortedCollection.
☞ a SortedCollection(_FPIEEE_RECORD AbstractCardContainer
AbstractToTextConverter ACCEL AcceleratorPresenter AcceleratorTable
....()....
DWORDBytes DWORDField EDITSTREAM ... etc ...
결과 . 그
. "... etc ..." . 금
갈 . 금 결과
기 . 그까? 그 갈
그 기 .
금까 Smalltalk
결과 . 그 "3 + 4." 경 간 결과 기
경 금 경 결과 기 경 .
결과 게 기 , 금까
.
. 고
<Ctrl-I> . <Ctrl-D> <Ctrl-I>
.
Class allClasses asSortedCollection. ☞ "Inspector "
까? "Inspecting a SortedCollection"
. 금 "객 기"(object inspector), 간
"기"(inspector)고 .
self 개 , 그 1,
2, 3,... 겨 . 그고
결과 . "self"
고, 금 <Ctrl-D>
결과 .
고, 1, 2, 3,... 겨
. 그 각 .
금 Smalltalk 경 갈(class).
까? 경 567. 결국 ,
Smalltalk 500개 갈 . 갈
기 .
계 . Smalltalk 경
개 객(object) . <Ctrl-I> 고
<Ctrl-D> .
Object allSubinstances size. ☞ 44121
경 44121개 객 고 고. 경
겠, 고
Smalltalk 경 4개 객
고 .
'객' '갈' 까?
기 까? 경 . Smalltalk 공
게 게 기 . 금 Smalltalk
고 결과 .
금까 Smalltalk . 기
Smalltalk 금까 간게
고 겠.
1. .
2. <Ctrl-D> 고 결과 .
3. 결과 게 <Ctrl-I> "기"
결과 .
까? 까 기
. 그고 근근
.
, 그 겠.
< 1> 간 계
digitalClockProcess := [[
Processor sleep: 1000.
(DesktopView current canvas)
font: (Font name: 'Arial' pointSize: 36) bold;
text: Time now printString at: 10@10;
free
] repeat] fork.
----------------------------------------------------------
금까 Smalltalk . 그
< 1> 곱 . 그 게
까?
간. 곱 .
1. .
2. 고, <Shift>
. 골 기
. 곱 고
.
<Ctrl-D>
겠. 게 까?
< 1>
☞ a Process(a CompiledExpression, priority: 5, state: #ready)
곱 <Ctrl-D> 결과
구 게 간 .
간 그 그 곧 그 그 고
그 간 . 게 . 결과 <
1> 간 계 그.
그 게 계
. , 금 계
. .
. 그 고 <Ctrl-D> .
digitalClockProcess terminate. ¬
UserLibrary default invalidate: nil lpRect: nil bErase: true.
☞ true
'¬'
갈 .
그 과
.
계 고 'true' 결과값
게 .
. < 1>
계 고, 고 계
. 그 결과값
까? 게 결과.
계 고 , 고
결과 .
Smalltalk .
<Ctrl-E> . 고 고 결과 굳
고 .
금 < 1>과 "UserLibrary" ,
<Ctrl-D> <Ctrl-E> . 결 깔게
.
, . Smalltalk ...
---<>----------------------------------------------------------
Smalltalk
* <Ctrl-D>: . 고 결과 .
* <Ctrl-I>: 고 결과 , 결과값 .
* <Ctrl-E>: 고 결과 고 .
----------------------------------------------------------
---< Smalltalk>---------------------------------------
Dolphin Smalltalk Smalltalk 경 경
.
게 .
----------------------------------------------------------
, 그 계 Smalltalk 까 .
고 (wave) .
(Sound fromFile: 'xxxxx.wav') woofAndWait; woofAndWait.
'xxxxx.wav' 고 꾸
. 결과값
, <Ctrl-E> .
(Sound fromFile: 'C:\Windows\Media\Ding.wav') woofAndWait; woofAndWait.
고 .
. ! Smalltalk 까???
그 게
겠. 100개 .
(1 to: 100) collect: [:i | i]. ☞ #(1 2 ...()... 99 100)
결과 까? <Ctrl-D> 고 <Ctrl-I>
. ( 겠?) 1
100 까 100개 (array)
. '' 간 ''고 각 겠.
, Smalltalk .
게 갈 겠. , 까 .
금 TV 권 . 권
갈 간겠 권 개
' ' 고
, 기까? 결과값 겨.
(Random new next: 6) collect: [:n | (n * 49) rounded].
☞ #(37 48 22 19 22 24 ) " "
☞ #(4 36 20 37 24 5 ) " "
☞ #(18 43 28 15 41 22 ) " "
...()...
. 기 까?
겨 게
기 .
결 . 개
. ( 결과 .)
권 . 그
... 그
.
.
< 2> 권 그
r := Random new.
s := Set new.
[ s size = 6 ] whileFalse: [s add: (r next * 49) rounded].
s asSortedCollection asArray.
[ 결과
☞ #(15 18 21 25 31 39 ) " "
☞ #(6 11 21 26 27 31 ) " "
...()...
----------------------------------------------------------
< 2> ,
, 결과 깁. 권
그 까?
금까 고 , 그
기 겠. <Ctrl-E>
.
scribble := Scribble show.
'a Scribble' .
고 그 그. 그
. 그 기 겠?
그 . . 금
결과 그 .
EtchASketch showOn: scribble model.
"Etch A Sketch" 그 . 그고
금 그 그 그 그 .
Dolphin Smalltalk 국 "Etch-a-Sketch" 그
고 .
금 그과 Etch-aSketch . 곳
그 그 그 .
공고 . Dolphin
Smalltalk 그 "MVP "
. "MVP " 공 , 그
까 고 .
그 그 개 그 .
" "(walkback window) .
게 겠, 기 그
각 .
self halt.
" " . 경 그
<Terminate> 결. 그
공 기 <Debug>
Smalltalk 경 개(debugger) 구경 . 게
개 Smalltalk 경 구
. 그 . Smalltalk
기 그 개 깊 공
. 그
겠? ^^:
Smalltalk 경 'Dolphin'
(source code) . 3MB
기 간 걸 .
금 기 'Dolphin' 고
게 .
SmalltalkSystem current browseContainingSource: 'Dolphin'.
"Containing Source: 'Dolphin'"
. 고,
곳. 과 Smalltalk 경 Dolphin
, 고 기
. (고 '' .)
. 금까 ,
. 고?
. .
View destroyAll.
Smalltalk 경 고
"Transcript" 게 .
까? ^^:
금 Smalltalk 경 깨 고
. 금까 결과
고 (?) 깨 고 각 겠.
금까 Smalltalk . 그
고 게 .
<Ctrl-D>, <Ctrl-E>, <Ctrl-I>
. 과 걸
.
Smalltalk 거고 각
. 겠 Smalltalk 간
기 .
Smalltalk ,
. Smalltalk Smalltalk 겠고
게 . 금
. 겠.
그 Smalltalk 경
기 . 그 간 Smalltalk 까
기 .
겠.
계...