我正在用方案编码一个函数,但我收到一个“应用程序:不是过程;期望一个可以应用于参数的过程”错误。我假设我没有正确使用条件语句:
(define find-allocations
(lambda (n l)
(if (null? l)
'()
(cons ((if (<=(get-property (car l) 'capacity) n)
(cons (car l) (find-allocations (- n (get-property (car l) 'capacity)) (cdr l)))
'()))
(if (<=(get-property (car l) 'capacity) n)
(cons (car l) (find-allocations (n (cdr l))))
'())))))
Run Code Online (Sandbox Code Playgroud)
如果有人能指出我的错误,将不胜感激。
我想在Racket中使用set-subtract运算符.我遇到了一些我不理解的事情.如果我有以下代码:
(set-member? (set "NDT_NT\\stuff") "NDC_NT\\stuff")
Run Code Online (Sandbox Code Playgroud)
我不应该得到这个答案吗?
#t
Run Code Online (Sandbox Code Playgroud)
我正进入(状态:
#f
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有一段代码可以得到两个列表的交集.但是,我想删除列表中的所有重复项.我用的是这个功能remove-duplicates().每当我使用它时,drRacket会出现以下错误.
申请:不是程序; 期望一个程序可以应用于给定的参数:(abccd)参数......:[无]
这是我的代码
#lang scheme
(define (intersect lst1 lst2)
(removedup(lst1 lst2))
(cond
((null? lst1)(quote ()))
((isin? (car lst1) lst2)
(cons (car lst1)
(intersect (cdr lst1) lst2)))
(else (intersect (cdr lst1) lst2))))
(define (removedup lst1 lst2)
(remove-duplicates(lst1))
(remove-duplicates(lst2))
)
(define (isin? a lat)
(cond
((null? lat) #f)
(else (or (equal? (car lat) a)
(isin? a (cdr lat))))))
Run Code Online (Sandbox Code Playgroud)
我的意见是 > (intersect '(a b c c d) '(c d e f))
任何人都可以帮我解决我的问题吗?提前致谢
我被要求为大学学习一些球拍,最终将不得不用树结构和数据集做一些相当复杂的事情。我才刚刚开始,即使使用Racket docs,google和SO,也无法理解此代码的工作方式。
我正在尝试编写一个带有三个数字参数并返回最大数的函数,这就是我所拥有的:
(define (mymax x1 x2 x3)
(cond
((and (x1 > x2) (x1 > x3)) x1)
(else (and (x2 > x1) (x2 > x3)) x2)
(else (and (x3 > x1) (x3 > x2)) x3)
))
(print (mymax 10 5 1))
Run Code Online (Sandbox Code Playgroud)
所以...
很抱歉,如此无知,但这只是没有道理,对这些要点的任何帮助都将是一个巨大的帮助
我是一名电气工程师,正试图在互联网上学习计划.我想采取罪恶x的方格,但我失败了.我想我需要一个使(数字,数字) - (数字,数字)的功能.所以它应该取lambda x和lambda f并计算square(fx).但是我被卡住了,我不能写这段代码.谁能写这个?
我目前正在尝试翻译这个 python 2 代码:
import math
def worstCaseArrayOfSize(n):
if n == 1:
return [1]
else:
top = worstCaseArrayOfSize(int(math.floor(float(n) / 2)))
bottom = worstCaseArrayOfSize(int(math.ceil(float(n) / 2)))
return map(lambda x: x * 2, top) + map(lambda x: x * 2 - 1, bottom)
Run Code Online (Sandbox Code Playgroud)
进入球拍/方案代码,并且遇到困难。
这是我到目前为止:
(define (msortWorstCase n)
(cond
[(equal? 1 n) 1]
[else (let* ([top (msortWorstCase(floor (/ n 2)))] [bottom (msortWorstCase (ceiling (/ n 2)))])
(append (map (lambda (x) (* x 2)) (list top)) (map (lambda (x) (- (* x 2) …Run Code Online (Sandbox Code Playgroud) 所以我读到DrRacket对于常见的lisp来说是一个很好的IDE.我下载了它并将语言设置为R5RS并编写了以下函数定义:
(defun f (x)
(+ 5 5))
Run Code Online (Sandbox Code Playgroud)
但是它返回了一个错误
defun: undefined;
cannot reference undefined identifier
Run Code Online (Sandbox Code Playgroud)
我不知道如何修复它,考虑到defun是常见的lisp中一个完善的关键字.
racket ×7
scheme ×6
boolean ×1
common-lisp ×1
duplicates ×1
function ×1
intersection ×1
lisp ×1
list ×1
procedure ×1
python-2.7 ×1
r5rs ×1