[SML 7864] Re: インクリメンタル・サーチ・ダイアログ
AOKI Atsushi
atsushi @ cc.kyoto-su.ac.jp
2010年 11月 22日 (月) 11:00:43 JST
変数名が適切ではなかったので、再ポストします、あしからず。
こんにちは、皆さん、青木淳@京都上賀茂です。
京都のSmalltalk勉強会において用いたインクリメンタル・サーチ・
ダイアログのプログラミング・イディオムをポストしておきます。
| anArray aBlock aDialog |
anArray := (Smalltalk allClasses
collect: [:aClass | aClass toolListDisplayString]) asSortedCollection
anArray.
aBlock :=
[:aPattern |
aPattern isEmpty
ifTrue: [anArray yourself]
ifFalse: [anArray select: [:anElement | aPattern , '*' match: anElement]]].
aDialog := IncrementalSearchDialog forSelectionWithSearch: aBlock.
^(aDialog select)
ifNotNil:
[:anElement |
Transcript
cr;
nextPutAll: anElement printString;
flush];
yourself
------------------------------------------------------------
AOKI Atsushi http://www.cc.kyoto-su.ac.jp/~atsushi/
(10/11/22 10:51), AOKI Atsushi wrote:
> こんにちは、皆さん、青木淳@京都上賀茂です。
>
> 京都のSmalltalk勉強会において用いたインクリメンタル・サーチ・
> ダイアログのプログラミング・イディオムをポストしておきます。
>
> | asArray aBlock aDialog |
> asArray := (Smalltalk allClasses
> collect: [:aClass | aClass toolListDisplayString]) asSortedCollection
> asArray.
> aBlock :=
> [:aPattern |
> aPattern isEmpty
> ifTrue: [asArray yourself]
> ifFalse: [asArray select: [:anElement | aPattern , '*' match: anElement]]].
> aDialog := IncrementalSearchDialog forSelectionWithSearch: aBlock.
> ^(aDialog select)
> ifNotNil:
> [:anElement |
> Transcript
> cr;
> nextPutAll: anElement printString;
> flush];
> yourself
>
> ------------------------------------------------------------
> AOKI Atsushi http://www.cc.kyoto-su.ac.jp/~atsushi/
SML メーリングリストの案内