将命令行参数传递给 Clozure common lisp

2024-01-01

我之前熟悉python,现在我正在尝试学习common lisp并在windows系统下使用ccl(clozure common lisp)。

我发现没有一种方便的方法来将 lisp 文件作为 python 运行。所以我写了一个bat文件来编译并运行一个lisp文件。

@echo off  

set lisp_filename=%~1  
set ccl_path=D:\_play_\lispbox-0.7\ccl-1.6-windowsx86\wx86cl.exe  

IF "%PROCESSOR_ARCHITECTURE%" == "x86" (  
    set fsl_filename=%lisp_filename:.lisp=.wx32fsl%  
) ELSE (  
    set ccl_path=%ccl_path:wx86cl=wx86cl64%  
    set fsl_filename=%lisp_filename:.lisp=.wx64fsl%  
)  

IF NOT EXIST %fsl_filename% goto compile  

for %%a in ("%lisp_filename%") do (  
    set lisp_timestamp=%%~ta  
)  

for %%a in ("%fsl_filename%") do (  
    set fsl_timestamp=%%~ta  
)  

IF "%fsl_timestamp%" LSS "%lisp_timestamp%" (  
    goto compile  
) ELSE (  
    goto run  
)  


:compile  
REM echo "compile"  
%ccl_path% --eval "(progn (compile-file \"%lisp_filename:\=\\%\") (ccl:quit))"  

:run  
REM echo "run"  
%ccl_path% --eval "(progn (load \"%fsl_filename:\=\\%\") (ccl:quit))"  

:end  

一切都很顺利,但我无论如何都找不到将命令行参数传递到 lisp 脚本中的方法。

我尝试了这样的脚本(test.lisp)
(defun main() (format t "~{~a~%~}" *command-line-argument-list*) 0 ) (main)
但结果是
D:\_play_\lispbox-0.7\ccl-1.6-windowsx86\wx86cl64.exe
--eval
(progn (load "D:\\_play_\\test.wx64fsl") (ccl:quit))

我知道这个输出是我的 bat 文件的结果,但我也找不到一种优雅的方法将命令行参数传递到 lisp 脚本中。

谁能告诉我更多关于如何通过争论的事情? 我希望最佳答案可以实现类似的内容:
test.lisp a b c
并有一个输出
test.lisp
a
b
c

任何建议都非常感激。 :-)


我从其他人那里得到了一些建议,我认为这非常有用。 我在这里给出结果,希望对其他人有用。

当 CCL 遇到命令行参数时,它会停止处理 名为“--”的伪参数;然后任何以下参数都可用 作为CCL的值:未处理的命令行参数。那个值 是一个字符串列表。

console> ccl64 -- these arguments aren\'t processed
Welcome to Clozure Common Lisp Version 1.7-dev-r14704M-trunk (FreebsdX8664)!
? *unprocessed-command-line-arguments*
("these" "arguments" "aren't" "processed")

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将命令行参数传递给 Clozure common lisp 的相关文章

随机推荐

  • 嵌套参数无法编译

    我正在尝试将我的代码编译成 Python 3 模块 当我在 IDLE 中选择 运行模块 时它运行良好 但当我尝试创建发行版时收到以下语法错误 File usr local lib python3 2 dist packages simple
  • 生成 CrypoAPI (CAPI) 私钥

    我正在尝试使用静态加密IXml加密器 https learn microsoft com en us aspnet core security data protection extensibility key management vie
  • php 中未定义的函数 mysql_connect()

    我安装了 mysql installer web community 5 6 25 0 apache 2 4 2 x86 no ssl 和 php 5 4 42 Win32 VC9 x86 php 可以与 apache 服务器配合使用 但不
  • 如何增加 MDCTextInputControllerOutlinedTextArea 的高度

    I have assigned a class named MDCMultilineTextField for Uiview from the storyboard This class is used for Multiline Text
  • 生产者消费者 - ExecutorService 和 ArrayBlockingQueue

    我想知道我对使用 ExecutorService 和 ArrayBlockingQueue 的生产者消费者设计的理解是否正确 我知道有不同的方法来实现这个设计 但我想 最终 这取决于问题本身 我必须面对的问题是 我有一个制作人 他从一个大文
  • jQuery 的 crossdomain.xml?

    我有一个托管在 Tumblr 上的博客 我有一个单独的主机 我在其中存储我制作的主题的所有图像 js css 等 不过 我也在使用查询加载器2 http www gayadesign com diy queryloader2 preload
  • 将变量注入 webpack

    我试图将一个变量注入到 webpack 包中的每个模块中 以便获得每个文件的 JS 错误的调试信息 我已启用 node filename true webpack 中的当前文件路径 https stackoverflow com quest
  • 为什么 form.submit() 不会触发“提交”事件?

    我正在使用 JavaScript submit 函数提交表单 form submit 但是当我使用 addEventListener 捕获我的提交事件时 它不起作用 form addEventListener submit function
  • 如何避免散点图/ggplot 中相同数据点的标签重叠?

    是否有任何函数等可以避免散点图中相同数据点的数据标签重叠 我已经检查了对 textxy direct label 和 geom text 的各种问题 答复 但没有成功 也许这根本不可能 以下是相关数据的示例 structure list c
  • 每次我登录游戏时,Unity Facebook SDK 都会不断要求我确认登录

    我正在使用 Unity3D 2018 2 6f1 和 Facebook SDK 这是用户单击登录按钮后我用来登录 Facebook 的代码 FB Init gt FB LogInWithReadPermissions new List
  • 在 SICP 中推广素数对

    我花了一些时间来研究 素数对 的生成SICP 第 2 2 3 节 作为常规接口的序列 例如 1 3 不 因为总和 4 1 4 是的 因为 sum 5 素数 这是我从头开始得到的 有效的 lang sicp RANGE helper func
  • Android DatePicker 在使用最小/最大限制时显示不可用月份

    我在 StackOverflow 上只发现了这个问题的另外 1 个实例 但尚未得到答复 去年 所以我想我应该再试一次 Android DatePicker Dialog 使用最小 最大日期显示不正确的月份 秒 https stackover
  • 在 React 中使用 requestAnimationFrame

    我是原生反应新手 我正在尝试优化性能 我的触摸事件非常慢 我正在经历RN 性能文档 https facebook github io react native docs performance my touchablex view isn
  • 如何在rails3中使用amistad gem?

    我需要有关如何在 Rails3 应用程序中实现 AMISTAD gem 的帮助 请建议一些教程或观点 我看到了 github amistad 链接 但我想要对这颗宝石进行全面报道 请帮我 gem 创建者请给我发送一个如何使用 GEM 的示例
  • 是否可以在 android 中使用 Actionbar sherlock 在操作菜单项中实现切换按钮

    我有一个应用程序 它在操作菜单项中有切换按钮 尽管我使用的是 Actionbar Sherlock 但我不知道如何将切换按钮放置在操作菜单项中 我不想将其作为自定义布局放置在操作栏中 但我想将其放置为菜单项 如果有人找到解决方案 请帮助我
  • Google Analytics(分析)不会跟踪 iOS 上的视图?

    我已将最新的 Google Analytics SDK 添加到我的 iOS 应用程序中 版本 2 0 beta 4 我按照指南所述进行了相同的操作 并将以下代码添加到应用程序委托中 Optional automatically send u
  • 如何从现有的 github 项目添加 helm 存储库?

    我有一个现有的 github 项目 我想创建 添加一个helm文件夹到项目中以存储 helm yaml 文件 我想引用这个 github 项目 文件夹来充当我的本地 开发环境中的 helm 存储库 我知道我可以将图表添加到我的本地 默认 h
  • 为Unity构建一个简单的在线游戏服务器

    我正在尝试为我的坦克游戏 2D Unity 构建一个在线游戏服务器 在我的游戏中会有2 4名玩家控制他们的坦克并互相战斗 我尝试过使用 Unity 网络 它不太适合我的游戏 因为我们必须选择房间中的 1 名玩家作为 服务器 这对于我未来的开
  • 固定分配 std::vector

    我是一名嵌入式软件开发人员 因此我不能总是使用所有优秀的 C 功能 最困难的事情之一是避免动态内存分配 因为它对于所有 STL 容器来说都是通用的 The std vector然而 在处理可变数据集时非常有用 但问题是分配 例如std re
  • 将命令行参数传递给 Clozure common lisp

    我之前熟悉python 现在我正在尝试学习common lisp并在windows系统下使用ccl clozure common lisp 我发现没有一种方便的方法来将 lisp 文件作为 python 运行 所以我写了一个bat文件来编译