Dynamic variable names: Difference between revisions
Content added Content deleted
(added perl) |
|||
Line 18: | Line 18: | ||
(print dynamicA) |
(print dynamicA) |
||
</lang> |
</lang> |
||
=={{header|Perl}}== |
|||
<lang perl>print "Enter a variable name: "; |
|||
$varname = <STDIN>; # type in "foo" on standard input |
|||
chomp($varname); |
|||
$$varname = 42; # when you try to dereference a string, it will be |
|||
# treated as a "symbolic reference", where they |
|||
# take the string as the name of the variable |
|||
print "$foo\n"; # prints "42"</lang> |
|||
=={{header|Python}}== |
=={{header|Python}}== |
Revision as of 18:26, 2 June 2009
Dynamic variable names
You are encouraged to solve this task according to the task description, using any language you may know.
You are encouraged to solve this task according to the task description, using any language you may know.
Create a variable with a user defined name.
AutoHotkey
<lang AutoHotkey> InputBox, Dynamic, Variable Name %Dynamic% = hello ListVars MsgBox % %dynamic% ; says hello </lang>
Common Lisp
<lang lisp>
(defmacro set-string (string value) `(setf ,(read-from-string string) ,value)) (set-string "dynamicA" "hello")
(print dynamicA) </lang>
Perl
<lang perl>print "Enter a variable name: "; $varname = <STDIN>; # type in "foo" on standard input chomp($varname); $$varname = 42; # when you try to dereference a string, it will be
# treated as a "symbolic reference", where they # take the string as the name of the variable
print "$foo\n"; # prints "42"</lang>
Python
<lang python>>>> n = raw_input("Enter a variable name: ") Enter a variable name: X >>> exec n + " = 42" >>> X 42</lang>
Tcl
<lang Tcl>puts "Enter a variable name:" gets stdin varname set $varname 0</lang>