[SML 7863] インクリメンタル・サーチ・ダイアログ

AOKI Atsushi atsushi @ cc.kyoto-su.ac.jp
2010年 11月 22日 (月) 10:51:17 JST


こんにちは、皆さん、青木淳@京都上賀茂です。

京都の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 メーリングリストの案内