Hi everyone! Just joined the Racket User's group. I'm trying to
conditionally render a paragraph element using a cond and an xexpr but I
can't make the "xexpr?" function return a #t value and of course the
response/xexpr function call fails as well. I've kind of fix this by always
returning a paragraph element regardless is needed or not (of course this
is not what I want). Here's the working code:
(define (login-template (login-error ""))
`(html
(head
(link ((rel "icon") (href "data:,")))
(title "Please login"))
(body
(form ((action "") (method "post"))
(label ((for "username")) "Username:")
(input ((type "text") (name "username") (maxlength "64")))
(label ((for "password")) "Password:")
(input ((type "password") (name "password") (maxlength "64")))
(button ((type "submit") (value "Login")) "Login"))
,(cond
((not (eq? login-error "")) `(p, login-error))
(else '(p "Enter your username/password."))))))
However I don't want to display at all the "else" clause as is not needed
at all, here's the failing code:
(define (login-template (login-error ""))
`(html
(head
(link ((rel "icon") (href "data:,")))
(title "Please login"))
(body
(form ((action "") (method "post"))
(label ((for "username")) "Username:")
(input ((type "text") (name "username") (maxlength "64")))
(label ((for "password")) "Password:")
(input ((type "password") (name "password") (maxlength "64")))
(button ((type "submit") (value "Login")) "Login"))
,(cond
((not (eq? login-error "")) `(p, login-error))))))
The last example fails if the login-error is indeed "" (an empty string).
Am I missing something like a "null xexpr" usage for the "else" clause or
something different that needs to be used in these situations? Of the all
examples out there that I could find and read none of them shows how to do
something like this. Is there a doc page where can I read about caveats
using xexprs (if any) or situations like the one I've described?
Thanks for your time,
Lucas.
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/racket-users/48f5b3c7-3ec2-43cc-8f01-60e36acb1e74%40googlegroups.com.