主题:  这样的语法算不算错误?

magicwind

职务:普通成员
等级:1
金币:1.0
发贴:160
注册:2004/9/15 15:36:55
#12001/6/26 20:04:05
substring(_name, 6, -1)
第三个参数能为负数吗?



万中吾一

职务:普通成员
等级:1
金币:1.0
发贴:273
注册:2001/5/15 21:39:21
#22001/6/26 20:50:41
不能



magicwind

职务:普通成员
等级:1
金币:1.0
发贴:160
注册:2004/9/15 15:36:55
#32001/6/26 22:28:23
不能吗?可是有一个flash中可以,第三个参数表示取的位数,但-1去几位。



万中吾一

职务:普通成员
等级:1
金币:1.0
发贴:273
注册:2001/5/15 21:39:21
#42001/6/26 23:10:26
如果为负数,将取从6开始的以后的所有数,负几都没有区别,这样使用没有意义



semon

职务:普通成员
等级:3
金币:1.0
发贴:896
注册:2000/9/15 13:43:14
#52001/6/26 23:58:57
应该有意义的吧,就是从后往前取,其实这个问题没有讨论的必要,你去试试就知道了
.



网络白痴 | 5D荣誉斑竹

职务:普通成员
等级:4
金币:10.0
发贴:1657
注册:2001/1/5 16:32:35
#62001/6/27 8:20:01
意义是在不同的角度看不同的问题,-1的存在说明它意义的存在,总归是有用的!



magicwind

职务:普通成员
等级:1
金币:1.0
发贴:160
注册:2004/9/15 15:36:55
#72001/6/27 8:20:07
万中吾一在上个贴子中说
引用:
如果为负数,将取从6开始的以后的所有数,负几都没有区别,这样使用没有意义

你说的有道理,可是好象有利用价值。



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
注册:2000/9/15 13:56:49
#82001/6/27 10:12:22
逻辑错误



magicwind

职务:普通成员
等级:1
金币:1.0
发贴:160
注册:2004/9/15 15:36:55
#92001/6/27 10:59:06
错误吗,但老外这样用,可以取5位后的所有字。



magicwind

职务:普通成员
等级:1
金币:1.0
发贴:160
注册:2004/9/15 15:36:55
#102001/6/27 17:26:17
发现一个有趣的现象:
mc_name:block5
num=substring(_name,6,-1);
trace(num);
trace(num-1);
trace(num+1);
结果为
5
4
51
为什么?我不懂,是不是函数类型有问题?



万中吾一

职务:普通成员
等级:1
金币:1.0
发贴:273
注册:2001/5/15 21:39:21
#112001/6/27 17:34:17
因为flash中的数据类型自动转换
num+1 当作字符串处理
num-1 当数处理



magicwind

职务:普通成员
等级:1
金币:1.0
发贴:160
注册:2004/9/15 15:36:55
#122001/6/27 17:37:43
那这样又不会:
num=5
trace(num)trace(num-1)trace(num+1)
另外,怎么解决。



手工感情

职务:普通成员
等级:3
金币:10.0
发贴:556
注册:2001/1/3 2:50:20
#132001/6/28 23:52:29
magicwind在上个贴子中说
引用:
那这样又不会:
num=5
trace(num)trace(num-1)trace(num+1)
另外,怎么解决。

num=5,那么它的数据类型就是整型了
但是num=substring(_name,6,-1);
这个语句得出来的结果可能会被flash自动转换


黑色的风略过我的翅膀,我却无法落下来梳理你的羽毛
————————————————
◆5d.cn互动论坛◆
------|xml版主|------

magicwind

职务:普通成员
等级:1
金币:1.0
发贴:160
注册:2004/9/15 15:36:55
#142001/6/29 12:04:48
我这样解决:
nl = eval("num");
nl++;
trace(nl);
不过怪怪的!