Visual_Basic 板


LINE

※ 引述《TrueFeeling (昨日之死)》之铭言: : ※ 引述《fumizuki (小狮子)》之铭言: : : s 只剩下数值的时候, : ^^^^^^^^^^^^^^^^^^^^^^^ : 这边的"s 只剩下数值"是什麽意思? 数值是 0 1 2 3 4 5 6 7 8 9 ,不含其它符号,更不包含空格等等.. 有加减乘除的都称它为运算式 : 如果拿这个例子来分析的话: : Eval(2-3*5+7/5-9)=Eval(2-3*5)+Eval(7/5-9) : 2-3*5或7/5-9这样算是数值吗? : 还有就是我再即时运算视窗中: : == : W="2-3*5" : X=Val(W) : Print X : -13 : == : 为什麽第3个明明W就是字串,Val()函数还可以计算阿? Val() 并不是计算,是转换,它只取前几个字元,後面非数字的部份会舍弃。 非数字的部份之後还就算还有数字,也照样舍弃... 你最後一个的输出值抄错了吧... 输出是 2,不可能是-13 第一个字元是2,第二个字元不是数字,所以之後的通通舍弃,只剩下2... : 这边有个问题: : 传回数值的时候, : 例如Eval(2-3*5+7/5-9)=Eval(2-3*5)+Eval(7/5-9): : 假设到了算到了Eval(3)*Eval(5)的时候 : 这时会变成Val(3)*Val(5),对吗? : 然後Eval=Val()....Val()...Val()....对吗 没错,在这里 Eval 和 Val 的意思是相同的, 不过 Val 会舍弃後方非数字的部份,Eval 不会做这个动作... Eval 就是自订的函数,用来做四则运算用的... : : 另一个结束是 分成两部份的那段程式码收到了 Eval 传回的数值後,计算, : : 然後 Goto EndProc,就是「执行完成」了。 : : 没有,你自己试试看就知道 : : 加与减的顺序不影响运算的结果 : : 1 + 2 - 3 = 1 + (2 - 3) = (1 + 2) - 3 = 0 : : 而且数学只说过先乘除後加减,并没有说要先乘後除,还是先除後乘吧 : : 依照我程式的撰写,运算顺序是除-乘-减-加,把它改成乘-除-加减,结果是一样的。 : : (如果会不同的话,就 Orz 了,那我可要好好研究为何会不同...) : 嗯,这个我知道 : 只是,不明白为什麽刚刚你在说明的时候,最高最低的意思 什麽? 最高是说优先等级最高,会最先被处理的呀... : : 可以,因为他只是个指标,表示 Eval 被执行了几次 : : 但是,还有个 c = c - 1,你大概会问为什麽要减 1 吧? : : 那是 Static c As Integer 的关系, : : Static 的目的就是让 c 这个变数的值一直保存,不要因为 End Function 就消失掉。 : : 正是因为值不会消失,所以如果这次执行了8次 Eval, : : 下一次再使用的时候,c 的值会是8 : ^^^^^^^^ : 这边的下一次意思是? : 我的想法是: : 如果这串字串有8个运算子 8个运算子的话... 1+2+3+4+5+6+7+-8 1: 1+2+3+4+5+6+7+-8 2: 1 3: 2+3+4+5+6+7+-8 4: 2 5: 3+4+5+6+7+-8 6: 3 7: 4+5+6+7+-8 8: 4 9: 5+6+7+-8 10:5 11:6+7+-8 12:6 13:7+-8 14:7 15:-8 共15次 : 那麽Eval执行的次数会变成1+2*8次的样子 等於说 Eval 执行的次数等於 运算元的数量 + 运算子的数量 上面有 8 个运算元 (1,2,3,4,5,6,7,8),和 7 个运算子 (都是+号) 8 + 7 = 15 (其中-8是负数,-8 视为一个运算元) : 然後传回 : 这边有个问题: : SplitProc里面的Return是Return到哪里? : 感觉像是c=c+1 : Eval0=Eval1+Eval2然後c=c-1 : c=c+1 : 然後Eval1=Eval1a+Eval1b : 然後c=c-1 : c=c+1 : 然後Eval1=Eval2a+Eval2b : 然後c=c-1 GoSub 和 Return 是互相配合的,有 Gosub 才有 Return 没有 GoSub,使用 Return 是会发生错误的。 Return 当然是回到 GoSub 的地方呀 : : 我设定每一次离开函数就减去一,是要 c 的值最後会归零。 : : 下次再使用 Eval 的时候, c 的值就是 0 : : c = c + 1 後,c 的值就是 1,才能判定 Eval 是第一次被呼叫, : : 而不是 Eval(op1) 或 Eval(op2) 在做重覆呼叫... : : 新手的时候的我,也会用一大堆变数, : : 但後来看看程式码,会发现,有些变数可以去掉, : : 不过也要看情况,相同性质的才共用变数,不同性质的千万不要这样做 : : 因为很容易用错变数,或变数相冲突... : : 程式码精简一点,以後比较好管理 : : 不然常看不懂自己在写些什麽 ( ′-`)y-~ : 嗯嗯,(笔记笔记ing)^^ -- VB 程式设计 仓木麻衣 PTT 星爷板 行列输入法 ====================================================== Visual_Basic MaiKuraki Stephen Array --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.58.156.43







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP