子程序变量输入输出问题请教

使用问题 · 2867 次浏览
dalou 创建于 6天11小时前

问题:将变量输入子程序后进行修改,如果需要在子程序外部获得修改后的变量,是否一定需要在子程序内输出变量?规则是什么呢?

发现:将变量输入子程序后进行修改,不输出变量,在子程序外部无需任何其他操作也能够读取已修改的变量(取决于子程序内部的变量修改方法?)

比如:输入词典或列表变量进子程序后,进行词典操作与列表操作修改变量,不输出变量,接着获取两个变量值,发现已被修改。但是文本变量却无法实现同样的操作。

这里有个动作可以测试一下:子程序仅输入 - by dalou - 动作信息 - Quicker

 

dalou 最后更新于 2025/1/21

回复内容
CL 6天11小时前
#1

词典、列表是引用类型,传入的是引用,两个指向的是同一个对象。

在编程语言中有“值”类型和“引用”类型,网上有大量这方面的介绍,可以搜一下看看。

作一个粗浅的解释,可以把引用类型看做一个房间,传递给子程序的是“房间号”,你在子程序里给房间修改了布局,在主程序里也是一样能看到。

dalou 回复 CL 6天11小时前 :
了解了,感谢老大!我找找资料学习下~
wilsons 6天5小时前
#2

也可以用状态存取传递,我这里动作里用了大量状态存取 https://getquicker.net/Sharedaction?code=f1743555-674d-4729-2552-08dd3978d697

回复主贴