lisp语言与python_5种语言混合编程:C++、JS、python、Lisp、汇编
/*
混合C++、JS、python、Lisp、汇编
1种语言,5种语法
*/
main
{
//C++
vector v;
v.push(2);
putsl(v.size());
if(v.count()==1)
{
putsl("abc");
}
//JS
var a=function(x){
return x*2;
}
putsl(a(3));
a={90,91};
putsl(a[1]);
//python
b=2
if b==2
putsl 1
putsl 2
elif b==3
putsl 99
//Lisp
[= b 3]
[rf printl b]
[= b [+ 1 3]]
[rf printl b]
//汇编
mov b,4
add b,5
putsl(b)
}
输出是:
4
abc
6
91
1
2
3
4
9
RPP已经成功从C++内核升级到了lisp内核,欢迎下载试用。
光速编译,无限可能,尽在RPP。(音up)
/*
控制台贪食蛇
*/
int g_std_out
rbuf g_arr
int g_next=10
int g_food
void main()
{
g_std_out=stdcall("GetStdHandle",-11)
g_arr.push(105)
CONSOLE_CURSOR_INFO cur_info
cur_info.dwSize=1
cur_info.bVisible=0
stdcall("SetConsoleCursorInfo",g_std_out,&cur_info)
rf.cmd("mode con cols=66 lines=35")
init
rf.srand
start=rf.tick
food
for
key
if rf.tick-start<100
continue
start=rf.tick
ifn check
return
g_arr.push_front(g_arr[0]+g_next)
if g_food!=g_arr[0]
g_arr.pop
else
food
update
}
void gotoxy(int x,int y)
{
COORD pos
pos.x=x
pos.y=y
int temp
mov temp,pos
stdcall("SetConsoleCursorPosition",g_std_out,temp)
}
void update()
{
for i=0 to 199
gotoxy(i%10+1,i/10+1)
if g_arr.exist(i)
puts("O")
elif i==g_food
puts("$")
else
puts(" ")
}
void init()
{
for i=0 to 11
for j=0 to 21
if i==0||i==11||j==0||j==21
gotoxy(i,j)
puts("#")
}
void key()
{
if stdcall("GetAsyncKeyState",0x26)
temp=-10
elif stdcall("GetAsyncKeyState",0x28)
temp=10
elif stdcall("GetAsyncKeyState",0x25)
temp=-1
elif stdcall("GetAsyncKeyState",0x27)
temp=1
else
return
if g_arr.count<2||g_arr.get(1)!=g_arr.get(0)+temp
g_next=temp
}
int check()
{
temp=g_arr[0]+g_next
if temp<0||temp>199||int.abs(temp%10-g_arr[0]%10)>1||g_arr.exist(temp)
stdcall("MessageBoxA",0,('over len '+g_arr.count).cstr,"",0)
return false
return true
}
void food()
{
g_food=rf.rand()%200
if g_arr.exist(g_food)
food
}
struct CONSOLE_CURSOR_INFO
{
int dwSize
bool bVisible
}
struct COORD
{
ushort x
ushort y
}
以下是一个彩色版本号:
/*
彩色版控制台贪食蛇
*/
int g_std_out
rbuf g_arr
int g_next
int g_food
void main()
{
begin:
init
start=rf.tick
for
key
if rf.tick-start<100
continue
start=rf.tick
ifn check
goto begin
g_arr.push_front(g_arr[0]+g_next)
if g_food!=g_arr[0]
g_arr.pop
else
food
update
}
void update()
{
for i=0 to 199
gotoxy(i%10*2,i/10)
if g_arr.exist(i)
out("■")
elif i==g_food
out("★")
else
puts(" ")
}
void init()
{
rf.srand
g_std_out=stdcall("GetStdHandle",-11)
g_next=10
g_arr.clear
g_arr.push(105)
food
CONSOLE_CURSOR_INFO cur_info
cur_info.dwSize=1
cur_info.bVisible=0
stdcall("SetConsoleCursorInfo",g_std_out,&cur_info)
rf.cmd("mode con cols=20 lines=22")//保留一行留给输入法
stdcall("SetConsoleTextAttribute",g_std_out,0x0a)
gotoxy(0,20)
puts(" ******************")
}
void key()
{
if stdcall("GetAsyncKeyState",0x26)
temp=-10
elif stdcall("GetAsyncKeyState",0x28)
temp=10
elif stdcall("GetAsyncKeyState",0x25)
temp=-1
elif stdcall("GetAsyncKeyState",0x27)
temp=1
else
return
if g_arr.count<2||g_arr.get(1)!=g_arr.get(0)+temp
g_next=temp
}
bool check()
{
temp=g_arr[0]+g_next
if temp<0||temp>199||int.abs(temp%10-g_arr[0]%10)>1||g_arr.exist(temp)
stdcall("MessageBoxA",0,('over len '+g_arr.count).cstr,"",0)
return false
return true
}
void food()
{
g_food=rf.rand()%200
if g_arr.exist(g_food)
food
}
void out(char* s)
{
puts(rcode.utf8_to_gbk(s))
}
void gotoxy(int x,int y)
{
COORD pos
pos.x=x
pos.y=y
stdcall("SetConsoleCursorPosition",g_std_out,pos)
}
struct CONSOLE_CURSOR_INFO
{
int dwSize
bool bVisible
}
struct COORD
{
ushort x
ushort y
}
lisp语言与python_5种语言混合编程:C++、JS、python、Lisp、汇编相关推荐
- lisp语言与python_5种语言混合编程:C 、JS、python、Lisp、汇编
/*混合C++.JS.python.Lisp.汇编1种语言,5种语法*/main{//C++vector v;v.push(2);putsl(v.size());if(v.count()==1){pu ...
- python语言是哪种语言_python语言是哪种语言
python的三种选择语句_电子/电路_工程科技_专业资料.本文将详细介绍 Python 语言中的三种选择语句:if 语句,if/else 语句和 if/elif/else 语句.对 于每种语句,.. ...
- R语言实战应用精讲50篇(十三)-如何使用JAVA调用R语言,两种语言的完美结合
前言 为什么要用java调用R? Java作为一个非常流行的编程语言,具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进 ...
- 2019女性开发者报告:3成16岁就会编程、JS/Python成女性掌握最多语言
作者 | HackerRank 译者 | 武明利,责编 | Aholiab 出品 | 程序人生(ID:coder_life) 无可否认,互联网正影响着全球人们生活的方方面面.而作为互联网产业的基本组成 ...
- 前后端跨语言RSA加解密和签名验证实现(js+python)
信息安全课程作业,敲了整整4天才基本搞定,还有一小问题没解决,可以的话评论区留言感激不尽. 总体思路: 该系统后端使用python的tornado框架(专门实现聊天功能的框架,笔者也只学了一天),前端 ...
- [置顶] Python编程-混合编程(C++,python,opencv)实现
对于一个程序宅来说,一直有想法把C++,opencv,python结合起来,python的并发性优点,opencv的图像处理算法的优点,C++的灵活,然后就开始了下面的旅程: 配置版本:VS2008+ ...
- 51汇编与c语言混合编程,C51与汇编混合编程详解
C51与汇编混合编程详解 0750long | 2009-07-09 12:45:42 阅读:1257 发布文章 C51与汇编混合编程详解 C51和汇编混合编程(1)-C语言中嵌入汇编 1.在 ...
- c语言和python语言分别是一种什么语言_作为入门语言,C语言和Python哪一种更值得选择?...
初学编程,应该学习哪一门编程语言,有不少人感到困惑,那么我们到底该如何选择呢? C语言和Python作为多种语言中两种语言,只是语法不同而已.以其作为入门语言的话,那还是各有千秋,各有各的好处的. 有 ...
- Facebook增强版LASER开源:零样本迁移学习,支持93种语言
来源| Facebook AI 研究院 译者 | Linstancy 责编 | 琥珀 出品 | AI 科技大本营(ID:rgznai100) [导语]为了加速自然语言处理 (NLP) 在更多语言上实现 ...
最新文章
- echarts饼图解析html标签,解决echarts中饼图标签重叠的问题
- python安装第三方库-Python安装第三方库的3种方法
- 【xinfanqie】五方面快速解决Win8蓝屏问题
- 【面试招聘】聊聊求职过程中的技术面试
- 转载:一道逻辑题 房间里有100盏电灯
- 线程方法destroy()和stop(Throwable)在JDK 11中删除
- create报错不是函数_各种SQL中关于日期函数的那些事(建议收藏)
- C语言解决迭代递推问题
- 案例:如何解决难以重现的BUG
- 协方差矩阵的计算方法
- html页面的bug记录:简单记录几个编辑html页面遇到的问题
- 腾讯云服务器安全组8080端口开放教程
- oracle同义词对象,oracle数据库对象-同义词
- [EXtJS5学习笔记]第一节 Sencha Cmd 学习笔记 简介 Sencha Cmd是什么
- 北上资金 python_股票数据抓取——北上基金持股数据(selenium抓取数据),爬取,之,北向,资金,通过...
- MongoDB3.4 根据中文拼音给中文排序
- 开篇“给自己定一个目标,明年7月去实现。希望不是一时的兴起。”
- 网络爬虫学习(二) selenium
- 什么是DDL和DML语句?
- vue 中监听document.body.scrollTop 值总为0的解决方法
热门文章
- CCNP实验---EIGRP自动汇总
- JAVA里点击树与表格结合,javaswing中的表格(jtable)和树(jtree)组件使用实例.doc
- php判断get和post请求,PHP:6种GET和POST请求发送方法
- bcp入库oracle,Sybase中的BCP用法实践 与 Oracle的SQLLDR用法实践
- 王者为什么有些服务器在维护,王者荣耀服务器正在维护中怎么回事 进不去怎么办...
- 计算机程序编辑的英语,编译程序是为把高级语言书写的计算机程序翻译成面向计算机的目标程序而使用的计算机程序...
- 《只管去做》-如何做靠谱的年度计划
- 这简直比高考容易多了...3个月自学转行软件测试,懒散人的一次自我突破!
- apache服务器_Apache+SVN 服务器搭建:
- 深信服防火墙console波特率_乾颐盾之深信服防火墙------初始化教程