~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 능 보는 . 등 바 명 리 . ...