slysmart 发表于 2019-6-19 14:54:19

小白求助

(if NumEqual dangle1 (* PI 2.0))----这句如何解释,TKS
(defun NumEqual(Num1 Num2 / bIsEqual)
                (setq bIsEqual nil)
                (if (equal Num1 Num2 0.01)
                        (setq bIsEqual T)
                )
                bIsEqual
)

taoyi0727 发表于 2019-6-19 16:46:44

(if NumEqual ;NumEqual 不为nil
   dangle1    ;判断真时执行这句
   (* PI 2.0) ;判断假时执行这句
)

slysmart 发表于 2019-6-20 08:03:39

本帖最后由 slysmart 于 2019-6-20 09:34 编辑

更正一下代码
      (if (NumEqual dAngle1 (* PI 2.0)) (setq dAngle1 0.0) )

(* PI 2.0)--- *的对象是谁,还有(* PI 2.0)是不是乘pi再乘以2?谢谢

taoyi0727 发表于 2019-6-20 09:27:22

大哥我帮不了你了
(if (NumEqual dAngle1 (* PI 2.0))
        (setq dAngle1 0.0)
)

(NumEqual dAngle1 (* PI 2.0))这句返回不为nil时执行(setq dAngle1 0.0)
*就是乘
(* PI 2.0)=>pi * 2.0

slysmart 发表于 2019-6-20 09:40:25

taoyi0727 发表于 2019-6-20 09:27
大哥我帮不了你了
(if (NumEqual dAngle1 (* PI 2.0))
        (setq dAngle1 0.0)


真的谢谢你,由于刚接触lisp
我没明白PI和谁乘了? NumEqual有两个参数,num1-- dangle1 num2 -- (*PI 2.0) ?

slysmart 发表于 2019-6-20 09:57:13

(if (NumEqual dAngle1 (* PI 2.0))
      (setq dAngle1 0.0)

可以理解为:
(if (NumEqual dAngle1 6.282)
      (setq dAngle1 0.0)

taoyi0727 发表于 2019-6-20 10:11:57

pi就和2.0乘了PI是就兀(3.1415....)再乘2.0

slysmart 发表于 2019-6-20 10:23:24

明白了,非常感谢
还是要先学基础
页: [1]
查看完整版本: 小白求助