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
Я на 100% согласен с igouy; Кроме того, основное различие будет заключаться в классах файловой системы. GNU Smalltalk больше похож на то, что вы получаете с пакетом Squeak Rio .
Вы можете преобразовать свой код из Squeak в GST с помощью gst-convert , который также позаботится о некоторых из разница.
Существует стандарт ANSI Smalltalk ( http: // www. smalltalk.org/versions/ANSIStandardSmalltalk.html ). Кажется, что Gnu является полной реализацией стандарта (см. Gnu Wiki ), а Squeak кажется вполне совместимым (см. Squeak Wiki ). Так что придерживайтесь стандарта, и у вас все будет хорошо.
Реализация GST даст вам гораздо лучший ответ, чем мы - так что просто попробуйте - заархивируйте свой код и посмотрите, что не удается с GST.
Я не знаю, как последняя версия Rosetta «Средство обмена кодами Smalltalk на разных диалектах» есть, но может помочь.
Вот некоторые незначительные отличия, которые были устранены, чтобы упростить задачу в тестовой игре - GNU Smalltalk :: Squeak
При возникновении определенных проблем спрашивайте о них в списке рассылки GNU Smalltalk .
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.
В дополнение к другим предложениям убедитесь, что ваши тестовые примеры SUnit обновлены; в GNU Smalltalk гораздо проще найти любые недостающие методы, которые ваше приложение использует таким образом.