小编men*_*tus的帖子

在Racket结构类型上与Kleene星形匹配

我最近开始玩Racket模式匹配系统,遇到了一个我无法理解的问题.

如果我做:

(match (list 1 2 3 4 5 6 7 8 9 10 11 12)
    [(list _ x y z ...) (list y ': x)]) 
Run Code Online (Sandbox Code Playgroud)

在REPL我得到

'(3 : 2)
Run Code Online (Sandbox Code Playgroud)

作为我想要的结果.

如果我做:

(match (current-date)
    [(date* _ x y z ...) (list y ': x)])
Run Code Online (Sandbox Code Playgroud)

要么

(match (date* 5 18 13 18 11 2011 5 321 #f 3600 0 "W. Europe Standard Time")
    [(date* _ x y z ...) (list y ': x)])
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

match: wrong number for fields for structure …
Run Code Online (Sandbox Code Playgroud)

scheme racket

5
推荐指数
2
解决办法
509
查看次数

标签 统计

racket ×1

scheme ×1