我正在尝试使用 Racket 为二十一点游戏制作一整副扑克牌。但是,我有两个问题:
当我使用以下代码时
;This function creates a list of all the card faces. (define faces '(2 3 4 5 6 7 8 9 10 J Q K A)) ;This function creates a list of all card suits. (define suits '(Clubs Diamonds Hearts Spades)) ;make-deck: Creates a new (unshuffled) 52 card deck ; Returns: The deck (a list of cards) ; Parameters: none (define make-deck (letrec ([pair-items (lambda (x y) (cond [(null? x) '()] [(null? y) '()] [(displayln (cons (car x) (cons (car y) (pair-items x (cdr y)))))] ))]) (pair-items faces suits)) )
我明白了
(2 Spades) (2 Hearts . #<void>) (2 Diamonds . #<void>) (2 Clubs . #<void>)
我不知道问题是什么。
我不知道如何重置以将函数
iterator
中的下一个元素faces
与整个函数配对suits
。我用吗let
?