Premier anniversaire de l'open source, une nouvelle version de Qing Language est publiée

Nous sommes à nouveau le 1er juin, et c'est aussi le premier anniversaire de la sortie de la première version open source de Qing Language. En ce jour mémorable, nous apportons une nouvelle version de Qing Language v1_20240601.

Téléchargez la nouvelle version : https://qingyuyan.cn/download.html

Les principales mises à jour sont les suivantes :

1. Plateforme mise à jour vers .Net8

2. L'éditeur ajoute la fonction d'empaquetage du programme Windows. Étant donné que de nombreux utilisateurs ont signalé vouloir pouvoir regrouper des programmes en langage Qing dans des fichiers exécutables, nous avons ajouté cette fonctionnalité dans la nouvelle version.

Cette fonction regroupe essentiellement l'interpréteur du langage Qing ou le programme de programmation Qing et le code de script dans un seul fichier exe. Les ressources du programme seront automatiquement libérées lors de l'exécution. Actuellement, son utilisation est uniquement prise en charge sous Windows.

3. Ajout de l'annotation BindAnno, qui est utilisée pour lier des objets et propriétés natifs C# aux objets du langage Qing afin de faciliter le développement de bibliothèques d'extensions du langage Qing, par exemple :

// 在扩展库中有如下对象
    public class DateObj : Obj {

       // 这是之前的写法,需要定义Prop类,并分别实现Qget和Qset方法
       class BindYear : Prop {
           public BindYear(Obj obj) : base(obj) {}

           public override Expr Qget(Ctx? ctx=null) {
               ……
           }
           public override Expr Qset(Expr val, Ctx? ctx=null) {
              ……
           }
       }




        // 通过注解可以直接绑定基本类型的成员
        [BindAnno("#备注")]
        private string remark;*/

    ……

Les types qui prennent en charge la liaison d'annotations incluent bool, int, long, float, double, decimal et string.

Pour les objets complexes, la liaison de chemin est également prise en charge, comme suit :

[BindAnno("#其他", "a.b.c", typeof(DateTime))]
public new object Raw { get; set; }

Cette approche nécessite de spécifier le type réel de l'objet de liaison.

4. Encapsule la bibliothèque toast de numéros de code et fournit une prise en charge des outils. La principale direction de travail après Qing Language 1.0 est d'enrichir les fonctions de Qing Language grâce à des bibliothèques d'extension dynamiques. Cette fois, nous avons encapsulé certaines fonctions d'une très excellente bibliothèque d'outils dans .Net ( Code Toast ) pour apporter une certaine commodité à tout le monde. . Nous continuerons à étendre la bibliothèque d'extensions de Qing Language à l'avenir.

Mode d'emploi de la bibliothèque Toast Qingyu-Code 

Voici quelques exemples simples :

#库 = @加载动态库、“./数据库连接库.dll”


;数字转换
#库@转中文数字【“123.45”】   ;一百二十三点四五
#库@转中文金额【“123.45”】   ;壹佰贰拾叁元肆角伍分
#库@十进制转任意进制【123,8】   ;十进制转八进制,返回字符串 “173”
#库@任意进制转十进制【“173”,8】  ;八进制转十进制,第一个参数是字符串类型


;农历工具
#库@转农历【“2018-12-31”】    ;支持传入字符串或时间对象,下同
#库@转农历【@系统时间【】】    
#库@转生肖【“2018-12-31”】
#库@转干支【“2018-12-31”】
#库@转农历节日【“2018-12-31”】


;多线程下载器
;指定下载路径和保存路径,最后设置线程数,如果不设置则默认为2线程
#下载器 = #库@创建多线程下载器【“https://qing.if4.ttyt.cc/qing/Qing.dll”, “H:\\Qing.dll”, 3】
#下载器#缓存文件夹 = “H:\\”
#下载器@下载进度变更命令 = @【#某】{@显示、#某#总进度}
#下载器@合并完成命令 = @【#某】{@显示、“下载完成了”}
#下载任务 = #下载器@开始下载【】  ;开始下载返回的是异步任务
@等待任务、#下载任务

Je suppose que tu aimes

Origine www.oschina.net/news/295339
conseillé
Classement