Kowal 发表于 2022-7-6 06:20:02

函数加法/乘法列表

请帮助李。
我需要一个arguments函数来对列表进行加法/乘法。
(setq (list (list a1 a2 a3 …) (list b1 b2 b3 …) (list c1 c2 c3 …) …))
(setq (list (list A1 A2 A3 …) (list B1 B2 B3 …) (list C1 C2 C3 …) …))
 
算法:
List1‘((a1 a2) (b1 b2))
List2 ‘((A1 A2) (B1 B2) (C1 C2))
Result: ‘(( )
( ))
 
示例1
List1 ‘((1 2) (2 4))
List2 ‘((3 1) (2 2) (1 1))
Result:‘(( ) ( ))
Result:‘((5 6 3) (10 12 6))
 
示例2
List1 ‘((21 2) (3 1 1) (4 3 2))
List2 ‘((2 3 1) (1 1 1) (3 4 5))
Result: ‘((11 15 13) (10 14 9) (17 23 17))

Lee Mac 发表于 2022-7-6 06:53:16

这是学校作业吗?

Kowal 发表于 2022-7-6 07:11:42

 
不,我是工程师。
我正在制作Civil 3D。
就像Lisp宏一样,我想学习参数函数。
 
如果这个例子不难求助。

Lee Mac 发表于 2022-7-6 07:33:53

(defun f ( a b )
   (mapcar
       (function
         (lambda ( a )
               (mapcar
                   (function
                     (lambda ( b )
                           (apply '+ (mapcar '* a b))
                     )
                   )
                   b
               )
         )
       )
       a
   )
)
我认为第二个例子的结果不正确,应该是:
14
页: [1]
查看完整版本: 函数加法/乘法列表