2014-09-05 58 views
1

有沒有辦法在Pharo Smalltalk中告訴當前圖像是運行時圖像還是開發圖像?我想創建一種方式來表示運行時圖像的關閉,但不是開發圖像。是運行時方法

回答

0

Smalltalk圖像中沒有像「運行時」與「開發」這樣的內置區別。但是,由於它是一個現場環境,因此您可以指出這一點,但您需要通過一個單身人士。例如:

SessionType class>>uniqueInstance 
^uniqueInstance ifNil: [ uniqueInstance := self new ] 

SessionType>>isDevelopment 
^isDevelopment 

SessionType>>isDevelopment: aBoolean 
    isDevelopment := aBoolean 
+0

謝謝你的快速反應。我是很新,福絡。所有的我的Smalltalk經驗與VA Smalltalk有關。他們曾經有一種方法,(我相信系統級別),表示您是在開發映像還是在打包的運行時映像中。 – 2014-09-05 14:27:28

+0

如果您發現它很有用,請在Dev郵件列表中列出一個包含在覈心中的例子。社區對良好的想法非常開放(特別是在有代碼的情況下)。歡迎來到Pharo :) – 2014-09-06 00:53:52

+0

不知道任何關於Dev郵件列表。你能否詳細說明一下? – 2014-09-06 02:56:25

1

在Pharo中,有一種剝離功能可以去除開發時間類和工具,並將其打包爲運行時。它與弗吉尼亞州類似,但不像美國一樣。

沒有一個方便的方法來檢查它的運行時間vs dev。但是,增加一個是在Smalltalk便宜..所以繼續前進,把它添加到

SmalltalkImage >> isRuntime

^(Smalltalk at: #Metacello1 ifAbsent: [ ]) isNil 

「或者你能保證任何一類在任何時候運行,始終沒有出現在運行時圖像目前在開發中..

ImageCleaner >>提供方法來清理生產/釋放..並給予一些更腿。