文言编程语言/wenyan-lang的教程来啦!!!
这是一个大学生开源的一个文言文编程语言。
关键是这门文言文的编程语言,是一位卡内基梅隆大学(CMU)的大四学生开发。利用 NLP 的一些技术,将文言文程序语法转换到 JavaScript 或 Python 运行,并不是简单的将程序中的英文字符换成了中文。
如要体验这门语言就到Wenyan Online IDE
下面就是这门语言的操作。
1.定义数据
文言 javascript 吾有一數。曰三。名之曰⌈甲⌋。 var a = 3; 有數五十。名之曰⌈大衍⌋。 var dayan = 50; 昔之⌈甲⌋者。今⌈大衍⌋是也。 a = dayan; 吾有一言。曰⌈⌈abc⌋⌋。名之曰⌈乙⌋。 var b =" abc"; 吾有一爻。曰蔭。名之曰⌈丙⌋。 var c = false; 吾有一列。名之曰⌈丁⌋。 var d = []; 吾有三數。曰一。曰二。曰五。名之曰⌈甲⌋。曰⌈乙⌋。曰⌈丙⌋。 var a =1,b = 2,c=5;
2.流程控制
文言 JavaScript 若三大於二者。乃得⌈⌈想當然耳⌋⌋也。 if (3>2){return "of course";} 若三不大於五者。乃得「「想當然耳」」 if(3<=5){return "of course"}else{return "noway"} 為是百遍。……云云。 for(vari=0;i100;i++){...} 恒為是。……云云。 while (true){...} 凡「天地」中之「人」。……云云。 for (var human of world){...} 乃止。 break;
3.运算
文言 JavaScript 加一以二。 1+2 加一於二。 2+1 加一以二。乘其以三。 (1+2)*3 除十以三。所餘幾何。 10%3 減七百五十六以四百三十三。名之曰「甲」。 var a=756-433; 夫「甲」「乙」中有陽乎。 a||b 夫「甲」「乙」中無陰乎。 a&&b
4.容器
文言 JavaScript 吾有一列。名之曰⌈甲⌋。充⌈甲⌋以四。以二。 var a = []; a.push(4,2); 銜⌈甲⌋以⌈乙⌋。以⌈丙⌋。 a.concat(b).concat(c); 夫⌈甲⌋之一。 a[0]; 夫⌈甲⌋之其餘。 a.slice(1); 夫⌈玫瑰⌋之⌈⌈名⌋⌋。 rose["name"] 夫⌈寳劍⌋之辰。 sword.lengh;
5.函数
文言 JavaScript 吾有一術。名之曰⌈吸星大法⌋。是術曰。……是謂⌈吸星大法⌋之術也。 function f(){……} 吾有一術.名之曰⌈六脈神劍⌋。欲行是術。必先得六數。曰⌈甲⌋。曰⌈乙⌋。 曰⌈丙⌋。曰⌈丁⌋。曰⌈戊⌋。曰⌈己⌋乃行是術曰。……是謂⌈六脈神劍⌋之術也。 function f(a,b,c,d,e,f){……} 吾有一術.名之曰⌈翻倍⌋。欲行是術。必先得一數。。曰⌈甲⌋。乃行是術曰。 乘⌈甲⌋以二。名之曰⌈乙⌋。乃得⌈乙⌋。是謂⌈翻倍⌋之術也。 function double(a){var b = a * 2;return b;} 施⌈翻倍⌋於⌈大衍⌋。 double(dayan); 吾有一數。曰一。書之。 console.log(1);
这样我们就可以实现一些基本操作,如:
//快速排序 吾有一術。名之曰「快排」。欲行是術。必先得一列。曰「甲」。乃行是術曰。 //摘自https://ide.wy-lang.org/?file=quicksort 若「甲」之長不大於一者。 乃得「甲」 也。 吾有三列。名之曰「首」。曰「頷」。曰「尾」。 夫「甲」之一。名之曰「甲一」。 充「頷」以「甲一」。 夫「甲」之其餘。名之曰「甲餘」。 凡「甲餘」中之「丁」。 若「丁」小於「甲一」者。 充「首」以「丁」。 若非。 充「尾」以「丁」 也。 云云。 施「快排」於「首」。昔之「首」者。今其是矣。 施「快排」於「尾」。昔之「尾」者。今其是矣。 銜「首」以「頷」以「尾」。名之曰「乙」。 乃得「乙」。 是謂「快排」之術也。 吾有一列。名之曰「己」。 充「己」以五。以三。以二十。以八。以三十五。以七百。 施「快排」於「己」。書之。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)