1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/qingfeng346-Scorpio-CSharp

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
ReleaseNotes.md 19 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 21:57 f52c297

v2.7.1 (2024-03-11)

  • Добавлен GlobalCache, поддерживающий глобальный индекс Double Long String.
  • Оптимизация: #import всех файлов с использованием одного и того же экземпляра Double Long String индекса.
  • Внимание: для использования вышеуказанных функций Serializer требуется версия 4 или выше.

v2.7.0 (2023-07-31)

  • Добавлена функция Profiler для облегчения поиска утечек памяти.
  • Объединены ConstString.
  • Исправлены проблемы с итератором и утечкой стека.
  • Объедены статические функции экземпляров класса C#.

v2.6.0 (2023-03-08)

  • Поддержка возвращаемых значений для сопрограмм.

v2.5.0 (2022-09-14)

  • Реорганизация кода, связанного с сопрограммами, с сохранением интерфейса для возвращаемых значений сопрограмм.

v2.4.0 (2022-08-24)

  • Добавлены функции isBool, toBool и toBoolean.
  • Пары поддерживают IEnumerator.
  • Исправление проблем с сопрограммами.
  • Устранена проблема с вложенным анализом макроопределений.

v2.3.10 (2022-07-21)

  • Добавлены классы StringMap и PollingMap.
  • #import поддерживает поиск по относительному каталогу с использованием файла в качестве каталога.
  • По умолчанию toString для HashSet имеет формат JSON.
  • Удалены опции компиляции SCORPIO_STACK.
  • Удалён синтаксис @{}.
  • Очищены все устаревшие функции.

v2.3.9 (2022-05-06)

  • Исправлено использование сопрограмм.

v2.3.8 (2022-03-26)

  • Исправлена проблема с объединением строк при вызове toString для класса.

v2.3.7 (2022-03-18)

  • В библиотеке io добавлены функции: readAllLines, writeAllLines, appendAllText, appendAllLines, copyFile, moveFile, movePath, getCreationTime, getLastAccessTime, getLastWriteTime, setCreationTime, setLastAccessTime и setLastWriteTime.
  • Также добавлены функции getExtension, getFileName, getDirectoryName, changeExtension, combine, getTempFileName, getTempPath, md5, md5Bytes, md5HashToString, toBase64 и fromBase64.
  • Добавлены поля компиляции __FILE__ __LINE__.
  • При работе со строками и классами, toString теперь работает.

v2.3.6 (2022-02-02)

  • Добавлены новые функции получения типов и Object.addGetProperty.
  • Улучшена организация кода для предотвращения конфликтов имён.

v2.3.5 (2021-11-29)

  • Добавлена новая конфигурация компилятора preprocessImportFile.
  • Улучшено управление кодом, связанным с ref out, для повышения эффективности.

v2.3.4 (2021-11-28)

  • Исправлено использование функций ref out и функций с количеством аргументов, равным 1.

v2.3.3 (2021-11-11)

  • Добавлено нативное ключевое слово sleep для сопрограмм.
  • Исправлены проблемы с анализом сопрограмм.

v2.3.2 (2021-11-09)

  • Добавлена команда userdata.extend, расширяющая функции класса C#.
  • HashSet получил новые функции: forEach find toArray convertAll.
  • Повышена эффективность работы с классами.

v2.3.1 (2021-10-14)

  • Поддерживается определение глобальных констант, которые компилируются непосредственно в константы во время компиляции.
  • Добавляются операторы сравнения === !==.
  • Добавлена пустая команда Nop.
  • Добавлены команды ToGlobal и ToGlobalFunction.
  • Базовая переменная использует общую память, что значительно снижает использование памяти.
  • Эффективность выполнения функций C# улучшена.
  • Интеграция опций компиляции.
  • Исправлен сбой при использовании функции bind для сопрограммы.

v2.2.1 (2021-08-27)

  • Поддержка предварительной компиляции #import, позволяющей компилировать несколько файлов в один файл.
  • Поддержка типа decimal.
  • Перечисления могут быть преобразованы в тип long.
  • Новый тип HashSet.
  • Улучшение функций, связанных с загрузкой скриптов.
  • Увеличение скорости доступа к массивам и IList.
  • Решение проблемы с быстрым отражением массива.

v2.2.0 (2021-07-27)

  • Поддержка множественного присваивания переменных.
  • Object получает функцию getHashCode.
  • Статическая функция referenceEquals добавлена в Object.

v2.1.0 (2021-06-23)

  • Макроопределения поддерживаются синтаксисом.
  • Сопрограммы поддерживаются.
  • Требуется вызов script.UpdateCoroutine() из основного потока для расширения сопрограмм.
  • Для расширения сопрограмм необходимо перегрузить ICoroutineProcessor.
  • Проблема с _G foreach решена.

v2.0.14 (2021-05-11)

  • Функция Script.Shutdown добавлена для выгрузки скрипта из памяти.
  • Повышение производительности.
  • Снижение использования памяти скриптами.
  • ScriptMapString — новый тип, где ключ может быть только строкой, а доступ осуществляется через @{}.
  • json.encode оптимизирован с добавлением проверки рекурсивных ссылок.

v2.0.13 (2021-01-26)

  • Производительность вызова функций C# повышена.
  • Использование памяти стеком оптимизировано.
  • json.decode теперь поддерживает N как long.

v2.0.12 (2020-11-26)

  • Командная строка получила поддержку библиотек os и net.

v2.0.11 (2020-01-26)

  • Проблема с continue в forsimple решена. Перед вами список изменений в различных версиях программного обеспечения.

В запросе представлен текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — русский.

Текст описывает изменения, внесённые в различные версии программного обеспечения Scorpio-CSharp. В нём перечислены новые функции, улучшения и исправления ошибок, которые были реализованы в каждой версии.

Определить основной язык исходного текста не представляется возможным, так как он содержит только технические термины и описания функций без эмоциональной окраски и других признаков, позволяющих определить его принадлежность к какому-либо языку. Можно предположить, что это язык программирования, используемый для разработки Scorpio-CSharp, но точный ответ дать невозможно. Перевод текста на русский язык:

Основные типы (number, string, bool, null) кроме Пример скрипта.

  • [Новое] Поддержка вызова функций, содержащих ref и out метки Пример скрипта.
  • [Новое] Быстрая поддержка рефлексии для создания шаблонных функций, поддерживающих функции с метками ref и out.
  • [Новое] C# массивы поддерживают прямой доступ к элементам через [] Пример скрипта.
  • [Новое] Перегрузка C# [] скобок (кроме перегрузки для ключей типа string), поддерживается прямой вызов через [] Пример скрипта.
  • [Новое] Элементы C# поддерживают += -= и другие операторы присваивания.
  • [Новое] Генерация скриптов IL файлов, во время выполнения можно избежать процесса разбора и компиляции.
  • [Новое] Добавлен класс ScriptNamespace, можно использовать importNamespace для импорта пространств имён C#.
  • [Новое] Добавление библиотеки ввода-вывода.
  • [Новое] В командной строке добавлены команды для генерации файлов быстрой рефлексии и IL файлов. Можно использовать sco -help для просмотра.
  • [Оптимизация] Оптимизация производительности скриптов, переход на компиляцию в стеке и выполнение, частичное тестирование, левая сторона — версия 2.0, результаты тестирования, значительное улучшение базовых операций, также значительное улучшение других операций.
  • [Оптимизация] Все библиотечные функции переименованы, новое правило именования — верблюжий регистр, первая буква слова строчная, а каждая последующая буква первого слова прописная, но можно вызвать Script.LoadLibraryV1 для совместимости с правилами именования версии 1.0 библиотеки.
  • [Оптимизация] Правило для переменной this внутри функции — это переменная, которая ставится перед другими переменными, см. пример в JavaScript Пример скрипта.
  • [Оптимизация] Функция быстрой рефлексии класса установлена как Scorpio.Userdata.TypeManager.SetFastReflectClass.
  • [Отброшено] Удаление функций kpairs и vpairs.
  • [Отброшенное] Удаление try catch.
  • [Отброшенное] Удаление синтаксиса switch.
  • [Отброшенное] Удаление ссылок на расширенные функции, используйте статические функции для вызова.

v1.0.11 (2019-05-28)

  • [Оптимизация] Автоматическое связывание делегата C#, нет необходимости в настройке DelegateFactory.
  • [Исправление] Исправлено BUG в функции рефлексии.

v1.0.10 (2019-03-19)

  • [Новое] Библиотека ввода-вывода добавлена.
  • [Новое] Библиотечная функция table.define_function добавлена, позволяет динамически создавать внутренние функции, например:
var tab = { num = 100 }
table.define_function(tab, "fun", function() {
    return this.num
})
print(tab.fun()) //Вывод 100
  • [Новое] Вместо ключевого слова function можно использовать # для объявления функции, пример:
#test() { }
//Эквивалентно
function test() { }

v1.0.9 (2019-03-15)

  • [Новое] Поддерживается использование символа ` для объявления строк, аналогично использованию одинарных и двойных кавычек, поддерживается символ @.

v1.0.8 (2019-03-14)

  • [Новое] При объявлении массива разделитель может быть точкой с запятой ;, пример:
var a = [100;200;300]
//Аналогично
var a = [100,200,300]
  • [Новое] Скрипт может напрямую вызывать операторы C#.
Оператор Название отражения Прямой вызов скрипта
+ op_Addition Поддерживает (+= не поддерживает)
- op_Subtraction Поддерживает (-= не поддерживает)
* op_Multiply Поддерживает (*= не поддерживает)
/ op_Division Поддерживает (/= не поддерживает)
% op_Modulus Поддерживает (%= не поддерживает)
| op_BitwiseOr Поддерживает (|= не поддерживает)
& op_BitwiseAnd Поддерживает (&= не поддерживает)
^ op_ExclusiveOr Поддерживает (^= не поддерживает)
> op_GreaterThan Поддерживает
>= op_GreaterThanOrEqual Поддерживает
< op_LessThan Поддерживает
<= op_LessThanOrEqual Поддерживает
== op_Equality Не поддерживает
!= op_Inequality Не поддерживает
[] get_Item (получение переменной) Не поддерживает
[] set_Item (установка переменной) Не поддерживает

v1.0.7 (2019-03-11)

  • [Новое] Доступ к частным переменным и функциям классов C# (не поддерживается рефлексией).
  • [Новое] Ключевое слово let добавлено, используется аналогично var local.
  • [Новое] Строковая функция string.cs_format добавлена, форматирует строки C#, пример:
//Вывод 00100,200
print(string.cs_format("{0:D5},{1}", toint(100), 200))
  • [Новое] Функция array.toarray добавлена, преобразует массив sco в массив C#, пример:
//arr представляет собой int[] {100,200,300}
var arr = array.toarray([100,200,300], import_type("System.Int32"))
  • [Новое] Функция userdata.typeof добавлена, получает тип переменной класса C# (поддерживает рефлексию), пример:
//Код C#
public class TestClass {
    public int a;
    public string b { get; set; }
}
//Код sco
var TestClass = import_type("TestClass")
//Тип t1 равен System.Int32, эквивалентен import_type("System.Int32") ## v1.0.5 (*2019-02-15*)
* `[修复]` Исправлена ошибка с временными переменными и их использованием (спасибо за отзыв **avatarANDY**).

## v1.0.4 (*2018-12-20*)
* `[修复]` Решена проблема с ошибкой разбора скрипта, если его длина меньше 10 символов.

## v1.0.3 (*2018-11-28*)
* `[修复]` Устранена проблема с разбором форматированных строк в новых скриптах.

## v1.0.2 (*2018-11-27*)
* `[优化]` Полностью переработан разбор скриптов, что сделало его более быстрым и простым в использовании.
* `[修复]` Исправлено некорректное поведение при вызове конструктора структуры без параметров.

## v1.0.0 (*2017-11-08*)
* `[新增]` Первый выпуск.
* `[新增]` Для запуска на Linux требуется предварительная установка библиотек libunwind и icu. Их можно установить с помощью команд yum install libunwind и yum install icu соответственно.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/qingfeng346-Scorpio-CSharp.git
git@api.gitlife.ru:oschina-mirror/qingfeng346-Scorpio-CSharp.git
oschina-mirror
qingfeng346-Scorpio-CSharp
qingfeng346-Scorpio-CSharp
v2.0