2014-09-05 3 views
1

Есть ли способ рассказать в Pharo Smalltalk, если текущее изображение представляет собой образ времени выполнения или образ разработки? Я хочу создать способ сигнализировать о завершении образа среды выполнения, но не образ разработки.Есть метод Runtime

ответ

0

В изображении Smalltalk нет такого встроенного различия, как «runtime» и «development». Но, поскольку это живая среда, вы можете указать это, как хотите. через одноэлементный. Кое-что вроде:

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

SessionType>>isDevelopment 
^isDevelopment 

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

Спасибо за быстрый ответ. Я довольно новым для Pharo. Всей мой опыт Smalltalk был с VA Smalltalk. У них был метод, (I верьте на уровень системы), который обозначил, находились ли вы в образе разработки или в образце времени выполнения. –

+0

Если вы считаете это полезным, сделайте случай в списке рассылки Dev, который будет включен в ядро. Сообщество очень открыто для хороших идей (особенно в сопровождении кода ха-ха). И добро пожаловать в Pharo :) –

+0

Не знаю ничего о списке рассылки Dev. Можете ли вы подробно рассказать? –

1

В Pharo имеется возможность удаления полосы вниз, чтобы удалить классы времени и инструменты разработки, упаковывая их для выполнения. Это похоже, но не так, как в VA.

Нет способа для удобства проверить, не является ли его временем выполнения vs dev. Но добавление одного дешев в Smalltalk .. так идти вперед и добавить его в

SmalltalkImage >> isRuntime

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

«или любой класс, который гарантирует не присутствует в изображении во время выполнения в любое время в режиме исполнения и всегда присутствует в разработчике ..

ImageCleaner >> предлагает методу очистки для производства/Release .. и дать еще немного ноги.

Смежные вопросы