尝试与 Racket 中的字符串进行模式匹配以将它们附加在一起
Attempting to pattern match with Strings in Racket to append them together
我正在尝试让我的程序将一个字符串添加到另一个字符串,如果格式正确的话。
我当前的代码是
(define (addString e)
(match e
[`(+ , x, y) (string-append x y)]))
所以当我 运行 (addString (+ "a" "b")) 它 returns "ab"
但是,它给出了一个错误:“匹配:`+ 没有匹配的子句”。我做错了什么?
快到了!你只需要引用输入。此外,match 子句中的 ,
应该写在您要评估的变量旁边(尽管它按照您的方式工作,但可能会有点混乱)。这就是我的意思:
(define (addString e)
(match e
[`(+ ,x ,y) (string-append x y)]))
它按预期工作:
(addString '(+ "a" "b"))
=> "ab"
我正在尝试让我的程序将一个字符串添加到另一个字符串,如果格式正确的话。
我当前的代码是
(define (addString e)
(match e
[`(+ , x, y) (string-append x y)]))
所以当我 运行 (addString (+ "a" "b")) 它 returns "ab"
但是,它给出了一个错误:“匹配:`+ 没有匹配的子句”。我做错了什么?
快到了!你只需要引用输入。此外,match 子句中的 ,
应该写在您要评估的变量旁边(尽管它按照您的方式工作,但可能会有点混乱)。这就是我的意思:
(define (addString e)
(match e
[`(+ ,x ,y) (string-append x y)]))
它按预期工作:
(addString '(+ "a" "b"))
=> "ab"