鉴于如下的简单程序,您将如何:
将其编译为要由实现加载的单独图像文件,以及您将使用哪些命令行参数加载它?
将其编译为可以按原样加载和运行的独立二进制文件.
注意:我在保存应用程序时尝试添加":prepend-kernel t",以便抛出跟随错误.
Error: value NIL is not of the
expected type REAL. While executing:
CCL::<-2, in process Initial(0).
Run Code Online (Sandbox Code Playgroud)你会如何压制欢迎信息?
该程序
(defun main ()
(format t "This is the program.")0)
Run Code Online (Sandbox Code Playgroud)编辑
讨厌回答我自己的一部分问题,但我发现了它.
加载函数后,键入以下内容进行编译:
(ccl:save-application "app")
Run Code Online (Sandbox Code Playgroud)
这会创建一个图像文件.通过将其传递给实现类型来加载它(注意:'ccl'二进制文件在我的系统路径中);
ccl -I app
Run Code Online (Sandbox Code Playgroud)
要运行顶级函数,请将其作为参数传递
ccl -I app --eval (main)
Run Code Online (Sandbox Code Playgroud) 任何人都可以告诉我如何使用存储在&rest指定的值中的参数.
我已经阅读了很多内容,似乎作者只知道如何列出所有参数.
(defun test (a &rest b) b)
Run Code Online (Sandbox Code Playgroud)
这很好看,但不是很有用.
到目前为止我发现的最好的是使用第一个,第二个等等来获取你正在寻找的参数.
(defun test (a &rest b)
(first b))
Run Code Online (Sandbox Code Playgroud)
我注意到这个方法在第十个参数停止工作,但是规范(从我读过的内容)支持至少50个.即使机会很小,我将使用50个参数,我想知道如何访问所有.
谢谢
如果有办法检测是否正在添加或更改模型中的信息.
如果可以,则可以使用此信息排除字段.
一些伪代码来说明我在说什么.
class SubSectionAdmin(admin.ModelAdmin):
if something.change_or_add = 'change':
exclude = ('field',)
...
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个非常小的程序,它打开一个套接字并接受一个连接.然后它抓取远程IP和端口.
我想向远程计算机(telnet)发送短信并关闭连接.
我无法确定哪个函数用于向telnet客户端发送消息.
该Clozure手动列出调用的函数"发送到",但它说,这是对UDP套接字和我与TCP套接字的工作.
我希望有人可以告诉我什么是正确的功能,或者,如果"发送到"是正确的功能,如何正确使用它.
谢谢
(setq my-socket (ccl:make-socket :connect :passive :format :text
:local-port 20000 :reuse-address t))
(setq connection (ccl:accept-connection my-socket))
(setq remote-host (ccl:remote-host connection))
(setq remote-port (ccl:remote-port connection))
Run Code Online (Sandbox Code Playgroud) 我有一个查询request-uri,形式为"/ node/143"(只是格式的一个例子).
我想从字符串中删除第一个正斜杠,我查找函数remove并尝试了一下.我似乎无法让它工作(我在Linux上使用SBCL).
我已经使用此代码设置了request-uri.
(setq request-uri "/node/143")
Run Code Online (Sandbox Code Playgroud)
当我检查变量时,我已将此返回.
request-uri
"/node/143"
Run Code Online (Sandbox Code Playgroud)
我现在尝试删除第一个斜杠(此时它只是用于查看函数如何正确使用的任何内容).
(remove "/" request-uri)
"/node/143"
(remove '/ request-uri)
"/node/143"
Run Code Online (Sandbox Code Playgroud)
我甚至尝试过提供一份清单
(remove '("/") request-uri)
"/node/143"
(remove '('/) request-uri)
"/node/143"
Run Code Online (Sandbox Code Playgroud)
尽管字符串是字符的向量,但我认为不管怎样,整个字符串可能放在一个单元格中,我试图删除整个字符,但仍然没有运气.
(remove "/node/143" request-uri)
"/node/143"
(remove '/node143 request-uri)
"/node/143"
Run Code Online (Sandbox Code Playgroud)
所以我现在感到很茫然,这个看似简单的功能确实让我无法理解,我以为我按照文档的说法去了,但没有任何工作.
任何人都可以了解这里发生的事情吗?
谢谢.
编辑:我找到了我的问题的答案,这提出了另一个问题.
从我使用的字符串中删除元素
(remove #\/ request-uri)
Run Code Online (Sandbox Code Playgroud)
整个字符串怎么样?
`(remove #\node request-uri`)
Run Code Online (Sandbox Code Playgroud)
仅适用于第一个字符并引发错误,以下所有内容均无效.
(remove "node" request-uri)
(remove 'node request-uri)
(remove ?\node request-uri)
(remove #\node request-uri)
(remove '("node") request-uri)
Run Code Online (Sandbox Code Playgroud)
我不确定这里应该怎么解决.
我创建了一个数据类型来保存基本用户信息并将其加载到ghci中.然后我用ghci来查看新的数据类型类型签名.我将类型签名从ghci复制到源文件中并尝试重新加载文件.Ghci犯了一个错误.
代码和错误如下.
我的问题是,为什么这会引发错误.我使用了由ghci推断的类型.
User :: Int -> String -> String -> String -> String -> User
data User = User { userID :: Int,
login :: String,
password :: String,
username :: String,
email :: String
} deriving (Show)
Run Code Online (Sandbox Code Playgroud)
前奏>:r用户[1/1]编译用户(User.hs,解释)
User.hs:3:0:无效的类型签名失败,加载的模块:无.
我想知道捕获和处理异常的"Haskell方式".如下所示,我理解基本语法,但我不知道在这种情况下如何处理类型系统.
以下代码尝试返回所请求的环境变量的值.显然,如果那个变量不存在,我想捕获异常并返回Nothing.
getEnvVar x = do {
var <- getEnv x;
Just var;
} `catch` \ex -> do {
Nothing
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
Couldn't match expected type `IO a'
against inferred type `Maybe String'
In the expression: Just var
In the first argument of `catch', namely
`do { var <- getEnv x;
Just var }'
In the expression:
do { var <- getEnv x;
Just var }
`catch`
\ ex -> do { Nothing }
Run Code Online (Sandbox Code Playgroud)
我可以返回字符串值:
getEnvVar x = do { …Run Code Online (Sandbox Code Playgroud) common-lisp ×4
haskell ×2
types ×2
ccl ×1
compilation ×1
django-admin ×1
exception ×1
executable ×1
function ×1
lisp ×1
parameters ×1
sbcl ×1
sockets ×1