慎用IfThen函数!
来源:互联网 发布:绿色建筑分析软件 编辑:程序博客网 时间:2024/06/08 14:36
从java/C转过来的coder,也许认为 (a==b? fun1():fun2())这种模式在pascal/delphi也有替代函数ifthen觉得很开心。
但事实上却大错特错,ifthen是一个函数而不是表达式或运算符,pascal/delphi的函数处理顺序从右到左的,也就是说先运算false的表达式再运算true的表达式,然后再判断条件!
如下代码:
var spt,ept:TPoint;w_step:Double;beginspt.X:=2;spt.Y:=3;ept.X:=2;ept.Y:=6 ;w_step:=ifthen(ept.x=spt.x,0, (ept.y-spt.y)/abs(ept.x-spt.x));caption:=FloatToStr(w_step)end;
必然会报被零整除的错误。大家谨记啊!
0 0
- 慎用IfThen函数!
- Delphi 中的 IfThen 函数
- Delphi 中的 IfThen 函数
- 慎用内联函数
- 慎用eval函数
- 慎用memset()函数
- 慎用_tcscpy函数
- sort函数慎用
- python慎用round()函数
- Delphi中慎用StrToDate函数
- 构造函数中慎用memset
- IfThen/IIF/Case
- 3.2.2 ifthen
- 慎用!
- 慎用""
- C51里的函数指针慎用
- Effective_java之二:慎用重载函数
- 慎用缺省构造函数的一种场景
- %1$s %1$d Android string
- Ajax中文编码问题解决方案
- java学习手记(一)
- 设计模式(10)-结构型模式-Facade模式
- javascript库之Mustache库使用说明
- 慎用IfThen函数!
- Android Application 创建全局变量
- Android中BroadCastReceiver使用(整理)
- 欣喜若狂!今天终于成功把音频导入到iphone了,大半年的努力,靠的毅力和方法
- 微博分享的实现
- 第八周项目1--实现复数类中的运算符重载
- 从《福谷传奇》看霍桑的政治观
- ArcGIS教程:对镶嵌数据集进行色彩平衡
- C#语言之“string格式的日期时间字符串转为DateTime类型”的方法