構造体と一致させ、そこから構造体を構築したいのですtest
が、どうすればよいですか?
私もこれを行うために使用eval
することはできませんか?
コードを参照してください、
#lang racket
(struct test (num) #:prefab)
(define s `((AK= #(struct:test 100))
(AV)
))
(define ns (make-base-namespace))
(define (set-state-space-vals!)
(namespace-set-variable-value! 'test test #f ns)
)
(match s
[`((AK= #(struct:test ,val) (AV))) ;; can't match
(displayln val)
]
[`((AK= ,val) (AV)) ;; can match, but how to build the struct?
(struct? (eval val ns))
(match-define (struct test (num)) (eval val ns)) ;this will fail
(displayln num)
] )