全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
1025 4
2017-09-15
悬赏 10 个论坛币 已解决
tdy变量是一个字符串变量,我想执行eval语句
eval([tdy,'target','=','targethands;']);该语句不可执行
eval(['target',tdy,'=','targethands;']);该语句可执行
请问为什么字符串变量放到前面就不可执行了,怎么样才能达到字符串变量在前面?

最佳答案

XIANG_LIU 查看完整内容

实际上eval('string '), 就是要将括号里的内容拿出来直接执行,比如说我要将targethands 的值赋给 target 变量,直接执行应该就是 target= targethands; 如果要使用eval语句的话就是 eval(['target','=','targethands;']); 楼主的问题我没有很明白,在没有给targethands 声明之前,两条语句都没办法执行。 如果说tdy 是一个字符串的话,那么两条语句应该没有太大差异,在给 targehands 有声明之前,比如在语句前已经给定tar ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2017-9-15 18:42:13

实际上eval('string '), 就是要将括号里的内容拿出来直接执行,比如说我要将targethands 的值赋给 target 变量,直接执行应该就是 target= targethands;  如果要使用eval语句的话就是 eval(['target','=','targethands;']);

楼主的问题我没有很明白,在没有给targethands 声明之前,两条语句都没办法执行。 如果说tdy 是一个字符串的话,那么两条语句应该没有太大差异,在给 targehands 有声明之前,比如在语句前已经给定targethands='abc'; tdy = 'abc'; 那么两条语句的结果是:
abctarget = 'abc';
targetabc = 'abc';
等于是声明了两个变量。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-15 21:36:30
实际上eval('string '), 就是要将括号里的内容拿出来直接执行,比如说我要将targethands 的值赋给 target 变量,直接执行应该就是 target= targethands;  如果要使用eval语句的话就是 eval(['target','=','targethands;']);

楼主的问题我没有很明白,在没有给targethands 声明之前,两条语句都没办法执行。 如果说tdy 是一个字符串的话,那么两条语句应该没有太大差异,在给 targehands 有声明之前,比如在语句前已经给定targethands='abc'; tdy = 'abc'; 那么两条语句的结果是:
abctarget = 'abc';
targetabc = 'abc';
等于是声明了两个变量。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-15 22:54:14
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-9-17 17:07:58
建议楼主尝试在其他电脑上运行该句代码。

已在MATLAB 2012a及MATLAB 2017a上分别成功运行这两句代码,无报错(需对字符串变量tdy及targethands变量预先赋值)。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群