gz13802424 发表于 2019-1-15 20:53:54

写代码,你要有趣还是易懂

本帖最后由 gz13802424 于 2019-1-16 21:30 编辑

快过年了,所有很有闲,每天都在翻自己的旧代码来折腾,发现件有趣的事

_GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage2, ($RelativeX + Abs($RelativeX)) / 2, ($RelativeY + Abs($RelativeY)) / 2, @DesktopWidth, @DesktopHeight)

($RelativeX + Abs($RelativeX)) / 2 这样的表达方式是还是很奇怪

但是如果换成下面这样的代码

If $RelativeX < 0 Then $RelativeX = 0
If $RelativeY < 0 Then $RelativeY = 0


这样是不是就很清楚了,原来是等效:当$RelativeX 少于 0 时$RelativeX等于0

那么回过头来看($RelativeX + Abs($RelativeX)) / 2 ,$RelativeX + $RelativeX的绝对值,如果$RelativeX为正数,那么相加后就变成了$RelativeX的2倍 ,如果$RelativeX为负数,那么相加就变成了0,最后再除以2,也正好实现了上面那么条件判断同样功能

有时候重重复复的代码堆叠,偶尔来点新奇的代表方式,是不是会让人精神为之一振呢

昨天有位大神给我了一段代码例程,我又学到一种新的表达方法
($RelativeX < 0 ? 0, $RelativeX)

总结一下当$RelativeX 少于 0 ,$RelativeX等于0,我有三种表达方法
有趣: ($RelativeX + Abs($RelativeX)) / 2
简便: ($RelativeX < 0 ? 0: $RelativeX)
易懂: If $RelativeX < 0 Then $RelativeX = 0

那么路过看贴的你,你会选择那种风格呢

haijie1223 发表于 2019-1-15 20:58:40

简便: ($RelativeX < 0? 0: $RelativeX)

ncxj 发表于 2019-1-16 00:06:52

易懂: If $RelativeX < 0 Then $RelativeX = 0
以后看的时候,不必那么费脑筋

redapple2008 发表于 2019-1-16 08:47:13

($RelativeX < 0 ? 0, $RelativeX)这个能不能解释一下,没理解。

redapple2008 发表于 2019-1-16 09:00:46

简便: ($RelativeX < 0? 0: $RelativeX)应是这样的?

zch11230 发表于 2019-1-16 13:52:54

本帖最后由 zch11230 于 2019-1-16 14:00 编辑

($RelativeX + Abs($RelativeX)) / 2 有是有趣,多运算了几次,效率要低一点吧 如果涉及大量的操作时。
If $RelativeX < 0 Then $RelativeX = 0 效率高些


($RelativeX < 0 ? 0, $RelativeX) 三目AU3不是不支持么;;;;;;;;;;刚刚测试三目支持了,效率还可以,貌似还最高呢。

redapple2008 发表于 2019-1-16 14:01:08

($RelativeX < 0 ? 0, $RelativeX) 三目AU3是:号,这个,号可以用吗?

chishingchan 发表于 2019-1-16 14:37:48

带问号这段我也没看明白

gz13802424 发表于 2019-1-16 21:31:37

redapple2008 发表于 2019-1-16 08:47
($RelativeX < 0 ? 0, $RelativeX)这个能不能解释一下,没理解。

笔误,正确的应该是
($RelativeX < 0 ? 0: $RelativeX)
(条件 ? 真 : 假)

gz13802424 发表于 2019-1-16 21:31:55

chishingchan 发表于 2019-1-16 14:37
带问号这段我也没看明白

笔误,正确的应该是
($RelativeX < 0 ? 0: $RelativeX)
(条件 ? 真 : 假)

gz13802424 发表于 2019-1-16 21:32:12

redapple2008 发表于 2019-1-16 14:01
($RelativeX < 0 ? 0, $RelativeX) 三目AU3是:号,这个,号可以用吗?

笔误,正确的应该是
($RelativeX < 0 ? 0: $RelativeX)
(条件 ? 真 : 假)

传说中的暗暗 发表于 2019-1-17 13:36:35

学习了 慢慢熟悉先

xkk2600 发表于 2019-1-17 16:06:42

当然是易读了,否则过一段时间都看不懂

绿色风 发表于 2019-1-18 14:12:34

http://www.jianyiit.com/post-23.html
发好久的了

qhdpc 发表于 2019-1-22 12:07:31

自己会那个就用哪个,以后可以看的懂的!
页: [1] 2
查看完整版本: 写代码,你要有趣还是易懂