声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1166|回复: 7

[编程技巧] 多文件如何共享变量?

[复制链接]
发表于 2008-5-7 19:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
问一个问题,如果在文件a中定义一个变量x,在文件b中如何访问x呢?我想在文件b中获得x的数据然后进行处理,这应该怎么办呢?谢谢大家!
回复
分享到:

使用道具 举报

发表于 2008-5-7 19:52 | 显示全部楼层
原帖由 bl1983126 于 2008-5-7 19:40 发表
问一个问题,如果在文件a中定义一个变量x,在文件b中如何访问x呢?我想在文件b中获得x的数据然后进行处理,这应该怎么办呢?谢谢大家!
输入输出的参数传递方式便可
发表于 2008-5-7 19:54 | 显示全部楼层
设置成全局变量:global
发表于 2008-5-7 19:58 | 显示全部楼层
如果是多个脚本的话,不清空的变量都是存在workspace里的,可以公用。
如果是函数的话,可能需要global,或者把需要的变量传给主程序,再由主程序传给别的程序。

[ 本帖最后由 sogooda 于 2008-5-7 20:37 编辑 ]
 楼主| 发表于 2008-5-7 20:08 | 显示全部楼层
先谢谢大家!二楼的意思是,我在文件a中定义一个global x,那么在文件b中就可以访问x?
发表于 2008-5-7 20:28 | 显示全部楼层
原帖由 bl1983126 于 2008-5-7 20:08 发表
先谢谢大家!二楼的意思是,我在文件a中定义一个global x,那么在文件b中就可以访问x?
请看关于GUI的心得的精华帖,里面提到参数传递的问题
发表于 2008-5-8 00:10 | 显示全部楼层
原帖由 bl1983126 于 2008-5-7 20:08 发表
先谢谢大家!二楼的意思是,我在文件a中定义一个global x,那么在文件b中就可以访问x?

global X Y Z defines X, Y, and Z as global in scope. Ordinarily, each MATLAB function, defined by an M-file, has its own local variables, which are separate from those of other functions, and from those of the base workspace. However, if several functions, and possibly the base workspace, all declare a particular name as global, they all share a single copy of that variable. Any assignment to that variable, in any function, is available to all the functions declaring it global.

评分

1

查看全部评分

发表于 2008-5-8 11:22 | 显示全部楼层

回复 楼主 的帖子

文件A中在变量第一次定义的时候定义为 global x
在其他如B文件引用该变量时,也要在B文件中注明global x
且运行B文件前得先运行A文件,即保证变量x已经存在。
这样应该就可以了。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 23:37 , Processed in 0.058228 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表