我想有這樣的列表替換嵌套列表元素...如何在方案
'((0 1 2) (3 4 5) (6 7 8) (0 3 6) (1 4 7) (2 5 8) (0 4 8) (2 4 6))
並更換一定數量的所有事件。
例如運行時
(replace 4 "x" '((0 1 2) (3 4 5) (6 7 8) (0 3 6) (1 4 7) (2 5 8) (0 4 8) (2 4 6)))
所需的輸出是
'((0 1 2) (3 x 5) (6 7 8) (0 3 6) (1 x 7) (2 5 8) (0 x 8) (2 x 6)))
我至今嘗試過是
(define (replace var player list) (if (null? list) '() (if (list? (car list)) (replace var player (cdr list)) (if (equal? var (car list)) (cons player (replace var player (cdr list))) (cons (car list) (replace var player (cdr list))) ))))
,當我運行全部更換1層的一個X輸出'(0 "x" 2)