gpt4 book ai didi

string - autohotkey 将文本表达式分配给变量

转载 作者:行者123 更新时间:2023-12-04 04:50:39 24 4
gpt4 key购买 nike

在自动热键脚本中,我试图将一个文本字符串分配给一个变量。谁能发现为什么这不起作用,它看起来就像一些提供的例子?我不再需要变量了,但现在我只是好奇我做错了什么......

myvar := % "foo";创建全局变量 myvar,但没有内容

我知道你可以说 myvar = foo但是在固定的文本字符串上留下引号只会让我感到畏缩。我什至让它工作,但在进行“一些无害的修饰编辑”之前没有“保存我的文件”。我点击“H”任务时钟附近的图标,使用菜单文件/显示变量来验证空内容...

最佳答案

好的,所以我们给一个变量赋值:

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

考虑一下,我们将两个文本字符串都强制为其实际值

eval_this := "harry"
this_too := " and bob"

test = % eval_this this_too
msgbox %test% ;= harry and bob

好的,现在您已经掌握了所有这些,下面是一个实际的应用程序。我们将强制文本字符串的值是一个变量。由于我们实际上已经定义了“警报”是什么,因此 gosub 将调用该定义。将其弹出到脚本中并运行它:

eval_this := "alert"

gosub % eval_this
exit ;we are finished with the demo, so end here

alert:
msgbox harry
return

关于string - autohotkey 将文本表达式分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498589/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com