王开鑫55 发表于 2017-5-27 18:19:04

defun(printMessage (name)         ;定义printMessage()函数
      printf("************************\n");打印*
      printf("hello,%s!\n" name)         ;打印name
      printf("************************\n");打印*
)
运行报错,如果defun的前name运行的数据变化的,这样变化的值就带到printMessage 里的?现在不想手动输入的,在软件就就可以处理

王开鑫55 发表于 2017-5-27 18:21:13

axlCmdRegister("check123" 'printMessage)

defun(printMessage (name)   
    printMessage ("haha")      ;定义printMessage()函数
      printf("************************\n");打印*
      printf("hello,%s!\n" name)         ;打印name
      printf("************************\n");打印*
)
这个都运行不出来。

王开鑫55 发表于 2017-5-27 19:01:34

是不是这个参数传递,必须在运行前赋予设置参数的值,才能打印出来,现在是想把一个变量的值传给另一个函数,好像这样不行呀

hyper 发表于 2017-6-15 13:49:48

继续学习。。。。。。。。。。。。。

hyper 发表于 2017-6-16 16:25:30

罗老师,为什么我用@key,@optional时会报错

hyper 发表于 2017-6-16 16:25:46

E- *Error* defun: illegal type character found in type template - defun(myfunc (\@key name "vivienluo") printf("hello,%s\n" name)) E- *Error* load: error while loading file - "study.il" at line 11

hyper 发表于 2017-6-16 16:29:15

E- *Error* procedure: illegal formal list - myfunc E- *Error* load: error while loading file - "study.il" at line 11

hyper 发表于 2017-6-16 16:30:20

hyper 发表于 2017-6-16 16:29
E- *Error* procedure: illegal formal list - myfunc E- *Error* load: error while loading file - "stud ...

defun procedure不管用那个函数都有问题:L

hyper 发表于 2017-6-20 09:18:05

hyper 发表于 2017-6-16 16:30
defun procedure不管用那个函数都有问题

错误终于找到了, 是这后面没有加括号
procedure( myfunc( @optional (name "vivienluo"))
        printf("hello, %s" name)
)
@optional /@key后面的默认参数列表要括起来

hyper 发表于 2017-6-20 09:57:51

先交作业1
页: 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25
查看完整版本: 第5课:Skill函数定义及参数传递