简体   繁体   English

从子程序返回值

[英]Return values from subprogram

I've created a subprogram called DEVICE_ON in which I've defined some of these statements我创建了一个名为 DEVICE_ON 的子程序,在其中定义了其中一些语句

 if j == 2: print('shutdown') # Run command. ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(shutdown) var_colonna_2=data_array[i][j] return var_colonna_2

var_colonna_2 is a string value (could be "X" or "V") and in this subprogram I have 8 return value (one for each var_colonna) var_colonna_2 是一个字符串值(可以是“X”或“V”),在这个子程序中我有 8 个返回值(每个 var_colonna 一个)

Now in the main programm I'm calling another subprogramm defined as:现在在主程序中,我正在调用另一个子程序,定义为:

CHECK_TEST(var_colonna_1, var_colonna_2, var_colonna_3, var_colonna_4, var_colonna_5, var_colonna_6, var_colonna_7, var_colonna_8) CHECK_TEST(var_colonna_1、var_colonna_2、var_colonna_3、var_colonna_4、var_colonna_5、var_colonna_6、var_colonna_7、var_colonna_8)

this CHECK_TEST of course is executed after the DEVICE_ON.这个 CHECK_TEST 当然是在 DEVICE_ON 之后执行的。 So basically In the main programm I have something like:所以基本上在主程序中我有类似的东西:

DEVICE_ON(ssh,data_array, i, j) DEVICE_ON(ssh,data_array, i, j)

CHECK_TEST(var_colonna_1,var_colonna_2, var_colonna_3, var_colonna_4, var_colonna_5, var_colonna_6, var_colonna_7, var_colonna_8) CHECK_TEST(var_colonna_1、var_colonna_2、var_colonna_3、var_colonna_4、var_colonna_5、var_colonna_6、var_colonna_7、var_colonna_8)

I was expecting that, since in DEVICE_ON, I've defined the return value for var_colonna_x (x=1 to 8), automatically the value of each var_colonna was updated and received from CHECK_TEST for internal computation,but right now it always sees 0.我期待着,因为在 DEVICE_ON 中,我已经定义了 var_colonna_x(x=1 到 8)的返回值,每个 var_colonna 的值都会自动更新并从 CHECK_TEST 接收以进行内部计算,但现在它总是看到 0。

I've also tried with the debug.It seems that the values are passed, but I still don't get why they are not seen in the next subprogram.我也尝试过调试。似乎值已通过,但我仍然不明白为什么在下一个子程序中看不到它们。

return_picture_debug_mode

I've understand where my mistake was.我明白我的错误在哪里。 Basically the retur function is ok but in the main I was missing something like:基本上retur函数没问题,但主要是我错过了类似的东西:

var_colonna_1=CHECK_TEST(var_colonna_1, var_colonna_2, var_colonna_3, var_colonna_4, var_colonna_5, var_colonna_6, var_colonna_7, var_colonna_8)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM