Насколько Совместимый GNU Smalltalk с Писком

i = 5;
System.out.println(++i); //6

Это печатает «6», потому что требуется, я добавляю один к нему и возвращает значение. 5 + 1 = 6; Это префикс, добавление к номеру перед использованием его в операции.

i = 6;
System.out.println(i++); //6 (i = 7, prints 6)

Это печатает «6», потому что оно берет i, сохраняет копию, добавляет 1 и возвращает копию. Таким образом, вы получаете значение, которым я был, но одновременно увеличиваете его. Поэтому вы распечатываете старое значение, но оно увеличивается. Возможность увеличения постфикса.

Затем, когда вы распечатываете i, оно показывает реальное значение i, потому что оно было увеличено. 7

11
задан Yasushi Shoji 6 January 2017 в 02:55
поделиться

5 ответов

Я на 100% согласен с igouy; Кроме того, основное различие будет заключаться в классах файловой системы. GNU Smalltalk больше похож на то, что вы получаете с пакетом Squeak Rio .

Вы можете преобразовать свой код из Squeak в GST с помощью gst-convert , который также позаботится о некоторых из разница.

5
ответ дан 3 December 2019 в 05:59
поделиться

Существует стандарт ANSI Smalltalk ( http: // www. smalltalk.org/versions/ANSIStandardSmalltalk.html ). Кажется, что Gnu является полной реализацией стандарта (см. Gnu Wiki ), а Squeak кажется вполне совместимым (см. Squeak Wiki ). Так что придерживайтесь стандарта, и у вас все будет хорошо.

5
ответ дан 3 December 2019 в 05:59
поделиться

Реализация GST даст вам гораздо лучший ответ, чем мы - так что просто попробуйте - заархивируйте свой код и посмотрите, что не удается с GST.

Я не знаю, как последняя версия Rosetta «Средство обмена кодами Smalltalk на разных диалектах» есть, но может помочь.

Вот некоторые незначительные отличия, которые были устранены, чтобы упростить задачу в тестовой игре - GNU Smalltalk :: Squeak

При возникновении определенных проблем спрашивайте о них в списке рассылки GNU Smalltalk .

4
ответ дан 3 December 2019 в 05:59
поделиться

Pharo looks more professional, and might help. Or if you have less than 4GB of data, Gemstone. A Seaside user interface looks the same as a ASP.NET MVC or Rails one, and can be created easier.

2
ответ дан 3 December 2019 в 05:59
поделиться

В дополнение к другим предложениям убедитесь, что ваши тестовые примеры SUnit обновлены; в GNU Smalltalk гораздо проще найти любые недостающие методы, которые ваше приложение использует таким образом.

4
ответ дан 3 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: