EDA365电子工程师网

标题: skill中的“?”,是什么作用? [打印本页]

作者: liuanty    时间: 2015-8-10 10:24
标题: skill中的“?”,是什么作用?
请教一个问题,skill中的“?”,是什么作用?例如
defun( printName2 (@key (name "vivienluo") (age 20))
           printf("hello,%s! Are you %d years old?\n" name age)
)
printName2(?name "kitty")
printName2(?name "kitty" ?age 100)
这里面name前面加的“?”是什么意思,list中使用“'”可以创建列表,但是“?”的功能还不清楚。再举一个例子
ExportHandle = mpsExport( AppToolName, AppServiceName,
     AppServiceVersion,
     '(cnCommands_eventEchoServer, PrintCallbackEvent),
     ?session cnmpsGetDefaultSessionName() )
前面都看懂了,就是?session cnmpsGetDefaultSessionName() 不是很明白,期待各位的解答,谢谢!

作者: deargds    时间: 2015-8-10 13:25
在定义函数时如果使用@key参数,在调用该函数时,其参数可以通过?key方法进行赋值,无须考虑顺序。
作者: liuanty    时间: 2015-8-10 13:51
deargds 发表于 2015-8-10 13:25
在定义函数时如果使用@key参数,在调用该函数时,其参数可以通过?key方法进行赋值,无须考虑顺序。

非常感谢,您的挥发,那后面这句
?session cnmpsGetDefaultSessionName()
是不是给全局变量赋一个cnmpsGetDefaultSessionName() 函数的返回值?谢谢啦!

作者: deargds    时间: 2015-8-10 14:13
liuanty 发表于 2015-8-10 13:51
非常感谢,您的挥发,那后面这句
?session cnmpsGetDefaultSessionName()
是不是给全局变量赋一个cnmp ...

是的






欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2