WisW
注意:本文章部分或全部是在一本正经地胡说八道

首先文档:https://b23.tv/xMpmaos
rt sjtpf是一种新编程语言…
首先你得在第一行写明以下信息
运行操作系统(目前只能填windows) 你需要的内存(mb为单位) 你的电脑密码
以空格分割
然后第二行是库 逗号分隔
然后第三行是入口函数 就是运行程序时调用的那个
第四行必须是空行
第五行及以下是主体
对于一个函数 你得这么定义:
【名称】(【参数】){主体}
对于一个函数的调用 (【参数】,【名称】)
参数都是以逗号分隔的
对于变量 它是弱类型语言 你只需要 a 1 =;就好
没错 它得用后缀表达式

然后它提供了一系列的函数
例如判断是(【如果是 调用的函数】,【如果不是 调用的函数】,【布尔表达式】,if)
向控制台输出的话…你得用先拼接一个string 然后(string,print);
输入就是string (getline) =;
当然它支持指针 a b -^ 就是a指向b 在函数定义中如果这么写scanf(-^string){…} 那么传入a,string就等同于string a -^
指针等同于别名
所以输入可以这么写 (string,scanf);

那么返回值?在函数内对return变量赋值就好了

那么列表呢 它也提供了个函数
你得testList (5,0,list)=;
这会返回一个长度为5 初始值全为0的列表
testList(0,1,“114514”,false,list)=;
这会返回一个长度可变 初始有三个元素的列表

获取列表第一个元素
(1,tesyLisy::at);

如何修改列表内容呢?
(0,“114514”,testList::modify);
这会让testList的第0项变成114514
testList::length可以返回列表长度
等等之类 建议去看文档
给各位写个helloworld:
//helloworld.sjtpf
windows 64 1145141919810

main

main(){
    (“Hello World!”,print);

//EOF
然后写点高级的
//dog.sjtpf
windows 1024 1145141919810

main

main() {
    dog ({ //使用函数定义一个类
        name “none” =;
        dog (name){this::name name=;}//构造函数 默认与class同名
        getName(){return name=;}
        whoRU getName -^;//函数的别名
    },class)=;
    testDog (“山里灵活的狗”,dog)=;//创建对象
    tD2 (“中华田园犬”,dog) =;
    dogList (0,testDog,tD2,list)=;
   
    printl(alist,pr){
        (,{((1,alist::sub),pr,printl);((0,alist::at),pr),alist::length 0 ==});
    }
    printl (dogList,print);//标记

//EOF
最后那个printl需要仔细解释解释
首先if函数里面{}是匿名函数 也就是直接定义了一个函数
而且还省略了布尔表达式为真的时候的操作
然后里面其实是个递归 它会把列表逆序打印出来
那么pr是什么呢?仔细看这个函数调用的时候 pr指的是print 这意味着我们把一个函数作为参数扔给了一个函数
这也就意味着,如果我把标记的那一行改为printl(dogList,(s){ (s::whoRU,print)});那么它就会输出 中华田园犬 山里灵活的狗
s::whoRU和s::getName是等价的

很神奇 没了

第一页 上一页 下一页 最后一页