答えはいらないんですかね(^_^;)。あ、Q&A か…(笑)。とりあえず問題を作ってみましょう。Smalltalk っても、Squeak です。--sumim上手くSmalltalkを学習するには
単純にQ&A方式の問題を作れば良いのでは?と考えています。
起動せよ。オブジェクトを動かしてみよ。Transcriptを表示せよ。doItしてみよう。Imageを保存せよ。変更履歴を見よ。みたいな超入門編とかからはじめるとよいような気がします。
初級編は、目的のコード&モーフを作ったりして。中級編は初級編のコードをリファクタリングするとか。
だれかSqueakのエヴァンジェリスト(伝道者)の方、良い問題を作ってくれませんかねー。私のために。お願いします。
** aNumber ^self raisedTo: aNumber
(SketchMorph withForm: Form fromUser) openInHand
| rect form sketch | rect _ Rectangle fromUser. form _ Form fromDisplay: rect. sketch _ SketchMorph withForm: form. sketch position: rect origin. sketch openInWorld. sketch editDrawing.
Smalltalk browseAllMethodsInCategory: 'examples'
| pattern methodsList | pattern _ 'example*'. methodsList _ SortedCollection new. Cursor wait showWhile: [Smalltalk allBehaviorsDo: [ :class | | organization categories | organization _ class organization. categories _ organization categories select: [ :category | pattern match: category ]. categories do: [ :category | | selectors | selectors _ organization listAtCategoryNamed: category. selectors do: [ :selector | methodsList add: class name, ' ', selector ]]]]. Smalltalk browseMessageList: methodsList name: pattern. ^ methodsList size
| bag | bag _ Bag new. Smalltalk allBehaviorsDo: [ :class | bag addAll: (class organization categories select: [ :category | 'initializ*' match: category ])]. ^ bag sortedCounts => a SortedCollection(497->#initialization 164->#initialize 159->#'initialize-release' 3->#initializing 2->#'initialize-destroy' 1->#'initialization-release' 1->#'initialize/release' 1->#'initialize variables' 1->#'initialize-reset-release')
このページを編集 (12305 bytes)
以下の 2 ページから参照されています。 |
This page has been visited 4706 times.