How to convert string to variable-name in scheme

后端 未结 2 591
情书的邮戳
情书的邮戳 2021-01-06 21:15

How can I achieve below in Scheme REPL? Create a variable name from a string.

=>(define (string->variable-name "foo") 12)

=>foo

2条回答
  •  甜味超标
    2021-01-06 21:43

    Forgetting the syntax for a moment:

    (define string->variable-name string->symbol)
    
    (define name->value-mapping '())
    
    (define (name-set! name value)
      (set! name->value-mapping
            (cons (cons name value)
                  name->value-mapping))
      value)
    
    (define (name-get name)
      (cond ((assoc name name->value-mapping) => cdr)
            (else 'unbound)))
    

    Sure you can't do (+ 5 ) without some other help...

提交回复
热议问题