基于AScript的python3脚本语言发布啦!
📅 2026/6/26 9:47:56
👁️ 次浏览
安装1 install-package AScript 2 install-package AScript.Lang.Python3三、使用说明1、注册语言1 Script.Langs.Set(python3, Python3Lang.Instance); 2 // 可全局设置为默认语言 3 // Script.Langs.Set(python3, Python3Lang.Instance, setDefault: true);2、上下文中指定语言如果已全局设置默认语言则无需指定。1 var script new Script(); 2 script.Context.Langs new [] { python3 }; 3 var s 4 def sum(a,b): 5 return ab 6 sum(10,20) 7 ; 8 Assert.AreEqual(30L, script.Eval(s));3、使用lang指定语言1 var s 2 // 默认csharp语言 3 int mult(int a, int b) a*b; 4 // 嵌入python3语言 5 lang python3 6 def sum(a,b): 7 return ab 8 end 9 int m 10; 10 int n 20; 11 mult(m, n) sum(m, n); 12 ; 13 var script new Script(); 14 Assert.AreEqual(230, script.Eval(s));4、字符串插值1 string s 2 nametom; 3 fhello {name}, 58{58} 4 ; 5 var script new Script(); 6 script.Context.Langs new [] { python3 }; 7 Assert.AreEqual(hello tom, 5813, script.Eval(s));5、字符串索引和截取1 var script new Script(); 2 script.Context.Langs new [] { python3 }; 3 Assert.AreEqual(e, script.Eval(hello[1])); 4 Assert.AreEqual(e, script.Eval(hello[-4])); 5 Assert.AreEqual(ell, script.Eval(hello[1:4])); 6 Assert.AreEqual(ell, script.Eval(hello[-4:-1]));6、列表1 var s 2 list1 [1,2,3] 3 list2 [3,4,5] 4 list3list1 list2 5 ; 6 var script new Script(); 7 script.Context.Langs new[] { python3 }; 8 var result script.EvalListobject(s); 9 Assert.AreEqual(1,2,3,3,4,5, string.Join(,, result)); 10 Assert.AreEqual(2L, script.Eval(list3[1])); 11 Assert.AreEqual(2L, script.Eval(list3[-5]));7、集合集合元素是去重的。1 var script new Script(); 2 script.Context.Langs new[] { python3 }; 3 var set (HashSetobject)script.Eval( 4 s {1, 2, 2} 5 s.add(3) 6 s.add(2) 7 s 8 ); 9 Assert.AreEqual(1,2,3, string.Join(,, set));8、字典1 var s 2 p {name: 张三, age: 18} 3 p[age]20 4 p 5 ; 6 var script new Script(); 7 script.Context.Langs new [] { python3 }; 8 var dict script.EvalDictionaryobject, object(s); 9 Assert.AreEqual(2, dict.Count); 10 Assert.AreEqual(张三, dict[name]); 11 Assert.AreEqual(20L, dict[age]);9、for遍历值1 var code 2 total 0 3 for x in [1, 2, 3]: 4 total x 5 total 6 ; 7 var script new Script(); 8 script.Context.Langs new[] { python3 }; 9 Assert.AreEqual(6L, script.Eval(code));10、for遍历值和索引1 var code 2 result 3 for i, x in enumerate([1, 2, 3]): 4 result f{i}:{x}, 5 result 6 ; 7 var script new Script(); 8 script.Context.Langs new[] { python3 }; 9 Assert.AreEqual(0:1,1:2,2:3,, script.Eval(code));11、列表推导式1 var code [x * 2 for x in [1, 2, 3]]; 2 var script new Script(); 3 script.Context.Langs new[] { python3 }; 4 var list (Listobject)script.Eval(code); 5 Assert.AreEqual(3, list.Count); 6 Assert.AreEqual(2L, list[0]); 7 Assert.AreEqual(4L, list[1]); 8 Assert.AreEqual(6L, list[2]);
前言
对于机器人专业的初学者,想要学习 ROS 开发却不想重装 Linux 双系统、不想配置笨重的虚拟机,WSL2(Windows 子系统)是目前最优的解决方案。它能让你在 Windows 系统中直接运行原生 Linux 环境,性能接近原生系统&a…
📅 2026/6/26 9:47:56
1. 项目概述:一次完整的GoldenEye靶场渗透实战复盘GoldenEye这个靶场,在渗透测试的学习圈子里,算是个“老朋友”了。它模拟的是一个经典的、基于Web应用的服务器环境,里面埋了不少有意思的“坑”,特别适合用来练习从信…
📅 2026/6/26 9:47:56
更多请点击:
https://intelliparadigm.com
第一章:虚拟化基石崩塌?揭秘VMware日志中隐藏的“VMXON failed”错误本质(含2024最新第13/14代酷睿Ryzen 7000实测兼容矩阵) “VMXON failed”并非偶然报错,而是…
📅 2026/6/26 9:47:56
1. 项目概述:为什么我们需要一把“自动化验证”的利剑?在安全测试的战场上,发现一个潜在的漏洞信号,比如一个可疑的DNS解析请求或一个HTTP回调,往往只是战斗的开始。传统的手工验证流程是怎样的?测试人员需…
📅 2026/6/26 11:08:49
1. 项目概述:为什么我们需要一个“加密聊天”工具?聊天的本质是信息交换,而信息一旦在网络上传输,就面临着被窥探的风险。从早期的QQ、MSN到现在的微信、钉钉,大部分日常通讯工具在传输层都采用了TLS/SSL加密ÿ…
📅 2026/6/26 11:08:49
1. 项目概述:当Burp Suite遇上“协议迷雾”做安全测试或者接口调试的朋友,对Burp Suite(业内常简称BP)这款工具肯定不陌生。它几乎是Web应用安全测试的“瑞士军刀”,拦截、重放、扫描,功能强大。但工具越强…
📅 2026/6/26 11:08:49
1. 调试模块的核心价值与设计思路 在嵌入式开发,尤其是汽车电子和工业控制这类对实时性和可靠性要求极高的领域,调试工作往往是一场与时间和复杂度的赛跑。传统的调试方法,比如频繁地停止CPU、单步执行,或者插入大量打印语句&…
📅 2026/6/26 11:08:49
1. 项目概述:从“烂土豆”到权限提升的利器如果你在渗透测试或者红队评估中,遇到过Windows系统上获取了某个服务账户(比如IIS的应用池账户、SQL Server服务账户)的权限,却发现自己被困在一个低权限的“牢笼”里&#x…
📅 2026/6/26 11:08:49
1. 交叉开关仲裁机制深度解析 在嵌入式微控制器,尤其是多主设备架构的系统中,总线资源的竞争是常态。想象一下,一个办公室里只有一台打印机,但有好几个人需要打印文件。如果大家一拥而上,必然导致混乱和效率低下。交叉…
📅 2026/6/26 11:03:48
如何在PC上免费畅玩Nintendo Switch游戏:Ryujinx模拟器终极指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx
想要在电脑上体验Nintendo Switch的精彩游戏世界吗…
📅 2026/6/26 0:01:05
上一篇【第53篇】Netty在Dubbo中的应用——Dubbo网络通信层深度解析 下一篇【第55篇】Netty游戏服务器实战——10万在线游戏服务器架构 一、ES网络通信架构
ES集群各节点的通信:
---------- ---------- ----------
| Node-1 | | Node-2 | | No…
📅 2026/6/26 0:01:05
1. 项目概述:这不是一次普通模型更新,而是一次上下文能力的质变跃迁“Qwen2.5-Turbo上线阿里云百炼平台,模型上下文长度扩展至百万tokens”——这句话里藏着三个关键信号:Turbo不是简单提速,而是面向生产环境的工程化重…
📅 2026/6/26 0:01:05
1. 从手册到实战:SLIDER与SPINBOX控件的深度解析在嵌入式GUI开发里摸爬滚打十几年,我见过太多项目因为界面交互的“小问题”而卡壳。参数调节不跟手、数值输入效率低下,这些看似不起眼的细节,往往是决定产品用户体验成败的关键。e…
📅 2026/6/25 16:52:10
暗黑2重获新生:D2DX如何让经典游戏在现代Windows系统上流畅运行 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx
…
📅 2026/6/25 16:52:10
CompressO终极指南:免费开源的视频图像压缩神器 【免费下载链接】compressO Convert any video/image into a tiny size. 100% free & open-source. Available for Mac, Windows & Linux. 项目地址: https://gitcode.com/gh_mirrors/co/compressO
你…
📅 2026/6/25 7:05:00