作者TrueFeeling (昨日之死)
看板Visual_Basic
标题Re: [VB6 ] 计算机
时间Fri Jun 10 21:47:29 2005
※ 引述《fumizuki (小狮子)》之铭言:
: ※ 引述《TrueFeeling (昨日之死)》之铭言:
: : Eval分成Eval(op1)和Eval(op2),但是如果op2里面还有运算子的时候,
: : 1.为什麽Eval能传出值?
: Function就是要做这用途的...
: : 2.离开的话,剩下的运算子好像还没处理
: 一个离开,还有其它相同的函数还在执行...
你是说,Eval分成Eval(op1)和Eval(op2)
然後每一个Eval又可以分成Eval(op1)和Eval(op2)这样吗?
以下面这个为例
p = InStr(s, "+")
If p > 0 Then GoSub SplitProc: Eval = Eval(op1) + Eval(op2): GoTo EndProc
如果Eval分成Eval(op1)和Eval(op2)但是如果跳出方程式的话,不是就结束了吗
GoSub SplitProc是重新跑方程式
GoTo EndProc是结束方程式
如果我上面的判断没错的话,GoSub SplitProc和GoTo EndProc是冲突的
可是却同时进行?让我觉得很矛盾
: : 可是,InStr 的第一个参数,指定要从第几个字元开始寻找
: : 那个参数要有一个确定的数字的样子,所以不懂为什麽可以用p
: : 而且p也用来作为InStr函数的传出值,所以我这边很混乱
: 没人说不能用变数啊...
: 函数的每一个参数本来就是个变数...
: 就算是常数传进去,在函数的本体还是以变数在看待
不好意思,我天资驽钝,还是不懂><(原谅我吧orz)
可是p如果是变数的话,电脑要从第几个字元开始找起呢
还是说p是承接上面 p=2 Else p=1 的p
: : 这边有一个问题:
: : 就是如果一开始直接用Val(s)取代Eval的话,我觉得这样应该比较直接
: : 所以不懂这边Eval的用意
: 上面说了,s必须是一个数值,才能够进行转换,否则得到的数会是零。
: Eval 的目地就是要把运算子与运算元分离,Val()并不会帮你做计算的工作...
--
少年读书,如隙中窥月;
中年读书,如庭中望月;
老年读书,如台上玩月。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.162.90.149
※ 编辑: TrueFeeling 来自: 218.162.90.149 (06/11 03:20)