好了,我们的值赋给一个变量:
eval_this:= "harry"
如果你这样说,你刚才读的变量的内容:
msgbox %eval_this% ;=harry
当然,在这里,文本不评价 - “eval_this”只是文字AHK:
msgbox eval_this ;= eval_this
这种方法被称为“强制表达” - 这是你正在做的。它试图读取文本字符串,就好像它是代码一样。它不读任何变量的内容,它是看文本,并迫使其成为一个变量(它的同样的事情排序,但不是真的)
msgbox % eval_this ;= harry
这也会让我们哈利,你可以看到我们是如何读取变量:
test := eval_this
msgbox %test% ;=harry
同一件事情,不同的方法(强制文本成为一个变量):
test = % eval_this
msgbox %test% ;=harry
考虑这一点,我们迫使两个文本串入T继承人实际值
eval_this := "harry"
this_too := " and bob"
test = % eval_this this_too
msgbox %test% ;= harry and bob
好吧,现在你已经掌握了所有这些,这里有一个实际应用。我们将强制将文本字符串的值作为变量。既然我们已经定义了什么“alert”,那么gosub会调用这个定义。将其放入脚本并运行它:
eval_this := "alert"
gosub % eval_this
exit ;we are finished with the demo, so end here
alert:
msgbox harry
return