2009-12-02 41 views
4

我熟悉VisualWorks和Dolphin版本的Smalltalk,但以前沒有使用Squeak。我只是熟悉Pharo,這是Squeak的「清理」分支。在Squeak/Pharo中顯示繼承的方法Smalltalk

我習慣於在類瀏覽器中使用這個工具,以顯示只有方法實現的方法以及實現的方法。

這個有用的設施在Squeak中是否丟失,或者我無法找到它?

回答

2

您可以雙擊任何類別,在該特定類別上打開層級瀏覽器等級工具欄中的按鈕和菜單項瀏覽層次結構(Ctrl + H)打開相同的視圖。

有一個繼承瀏覽器向您顯示當前所選方法的等級實現。點擊工具欄中的繼承按鈕。

此外還有協議瀏覽器,它顯示了一個類的所有方法和超級方法。要打開此瀏覽器,請在該類的上下文菜單中選擇瀏覽協議(Ctrl + Shift + P)。

+0

只是檢查我們在這裏談論完全相同的事情 - 我想要做的是(例如在檢查ArrayedCollection時),請參閱* one *窗格,其中列出了從ArrayedCollection中排序的方法,例如isSorted也可以使用父類SequencableCollection中的allButFirst方法(理想情況下以灰色表示,以顯示它未在當前類中實現)。這也是你對我的要求的理解嗎? – teapot7 2009-12-02 23:55:42

+1

>你是第一個在幾年內錯過這個功能的人。 這只是表明人們的工作方式有多不同 - 對我來說這是一個關鍵的功能。在我的個人副本中嘗試重新實現它可能會對我很好。 – teapot7 2009-12-03 02:56:15

+2

@ teapot7我假設盧卡斯誤會了你。他所指的是在類窗格中顯示層次結構,您想要的是在方法窗格中查看繼承的方法。我也想念那個。 – akuhn 2009-12-05 21:25:33

2

如果您想要構建具有該行爲的瀏覽器,則應該查看Glamour瀏覽器構建DSL。

我個人感覺不需要看到在ProtoObject和Object中定義的所有34頁方法名稱,或5個方法類別頁面。對象方法大小打印421.

+0

感謝Glamour瀏覽器的提示 - 兩天前我第一次聽說它的巧合,聽起來很棒。 至於看到在對象上實現的所有兩個zillion方法 - 我似乎回想起VisualWorks(或者它是Dolphin?)允許你看到在下面的超類實現的所有方法上實現的方法* Object的級別 - 絕對是你'我希望能夠做到。 一個模糊的內存告訴我,我已經看到了一個瀏覽器,你可以選擇它開始顯示祖先方法的級別,這更好。 – teapot7 2009-12-03 22:41:47

+0

好吧,這聽起來有點更實際 – 2009-12-04 09:42:58

+0

Visualwork默認顯示在Object下面的所有內容,您可以將其更改爲任何超類。我想在'Object'下面顯示一切應該足夠好。 – akuhn 2009-12-05 21:28:19

0

AFAIK在GemStoneTool中有這樣的事情,thre是1左右,並且#它似乎改變了視圖以查看類中可用的所有方法(不管它是繼承的還是在班級本身)我和你一樣驚訝,沒有像「標準圖像」那樣的東西。也許用戶知道這些圖書館的年齡,也許他們記得不用擔心。 ...