- (hash-let HASH-TABLE (VAR | (VAR) | (VAR KEY [DEFAULT]) ...) BODY ...)syntax
Decompose HASH-TABLE entries into variable bindings. Should the KEY not be a symbol, or the desired variable name VAR is not the key, the (VAR KEY [DEFAULT]) form can be used.
The default value for a missing hash-table entry is #f but can be specified with the (VAR KEY DEFAULT) form.
The BODY... is evaluated with the specified bindings.
(use hash-let srfi-69) (define tbl (make-hash-table)) (hash-table-set! tbl 'abc "commercial network") (hash-table-set! tbl "abc" "commercial network") (hash-table-set! tbl 'cbs "commercial network") (hash-table-set! tbl "cbs" "commercial network") (hash-let tbl ((abc) (cbs "cbs") (pbs (string-append "p" "bs") #t) tbs) (print 'abc " is a " abc) (print "cbs" " is a " cbs) (print (string-append "p" "bs") " is a " pbs) (print 'tbs " is a " tbs) )
This prints the following:
abc is a commercial network cbs is a commercial network pbs is a #t tbs is a #f