Python 如何在球拍中使用#lang语言加载更多内容
我试图找到一种方法,通过在Racket中使用多个语言模型来编写程序。例如,我在Racket中编写了一个c程序,如:Python 如何在球拍中使用#lang语言加载更多内容,python,c,racket,Python,C,Racket,我试图找到一种方法,通过在Racket中使用多个语言模型来编写程序。例如,我在Racket中编写了一个c程序,如: #lang c #include <stdio.h> int main() { int a = 1; printf("%d\n", a); return 0; } #lang c #包括 int main(){ INTA=1; printf(“%d\n”,a); 返回0; } 那么,在Racket程序中,是否可以将python代码放在上述c代
#lang c
#include <stdio.h>
int main() {
int a = 1;
printf("%d\n", a);
return 0;
}
#lang c
#包括
int main(){
INTA=1;
printf(“%d\n”,a);
返回0;
}
那么,在Racket程序中,是否可以将python代码放在上述c代码之后,以便Racket程序看起来像:
#lang c
#include <stdio.h>
int main() {
int a = 1;
printf("%d\n", a);
return 0;
}
//Someting close the c language model
#lang python
def main():
b = 2
print "%d", %b
if __name__ == "__main__":
main()
#lang c
#包括
int main(){
INTA=1;
printf(“%d\n”,a);
返回0;
}
//关闭c语言模型
#巨蟒
def main():
b=2
打印“%d”,打印%b
如果名称=“\uuuuu main\uuuuuuuu”:
main()
我已经在Racket中安装了c和python语言包,可以在Racket中单独编写这些语言。语言功能不支持在同一个现成文件中编写多种语言。但是Alex Knauth编写了一个扩展,允许您做您想做的事情
查看此处的文档:谢谢!我尝试了这个扩展,它确实有效。但如何让两个程序轻松共享变量?将变量存储到文本文件中是唯一的方法吗?这取决于语言。某些语言提供了一种导出变量的机制,这些变量可以在其他模块/文件中使用。遗憾的是,“#lang C”的实现没有这样做(它基本上编写一个.C文件并调用标准C编译器)。写入/读取文件是一种方法。另一个是看管道。对于“#lang racket”,该语言可以导入python程序,如:“(需要python)(py导入“pyfile1”作为python模型)”。有没有类似的方法可以使用“require”导入C程序?没有。Python语言的实现方式使得它可以很好地与Racket模块系统配合使用。C one(由于它的实现方式)没有。