在我的cond
的一个案例中,我需要执行多个过程,然后在结尾返回一个值。但是,我当前的实现给了我一个错误:
application: not a procedure;
expected a procedure that can be applied to arguments
(cond
[(string? expr) expr]
[(number? expr) expr]
[(list? expr) (begin
(hash-set! my-table (car expr) (cdr expr))
("hi") ; I want to return this
)
]
)
有人可以帮我理解我在cond
中有多行吗?
答案 0 :(得分:2)
cond中的多行不是你的问题,而是(“hi”)。你试图把“hi”称为程序,把它放在parens中,“hi”是一个字符串,而不是程序。
实际上,您不需要(begin ...)表单中有多行。只需在测试后放置您想要的线条。