racket - How to convert a list into xexpr? -
#lang racket (struct result (q) #:mutable) (define result (result '())) (define (insert-result! result val) (set-result-q! result (cons val (result-q result)))) (insert-result! result "hello") (insert-result! result "wrold") (print (result-q result)) (define (iter l) `(div ((class "result")) ,(for ([i (result-q l)]) `(p ,i)))) (iter result) i'm trying xexpr. result should '("wrold" "hello") after code run. in iter function want produce output:
'(div ((class "result")) (p "world") (p "hello"))
somehow code above gives me '(div ((class "result")) #<void>) instead. how fix issue?
you should use:
,@(for/list ([i (result-q l)]) `(p ,i)) notice use of ,@ splicing unquote, for/list collecting results list.
Comments
Post a Comment