Maxscript 模擬重載

發現maxscript和adobe 的javascript有諸多相似,於是用js模擬重載的思路,我嘗試了maxscript實現函數重載。

1、按照腳本引擎解釋腳本的順序,後定義的函數會覆蓋之前定義的函數,如下

fn sayHi =
(
	messageBox("第一個sayHi方法!")
)
fn sayHi =
(
	messageBox("第二個sayHi方法!")
)
fn sayHi =
(
	messageBox("第三個sayHi方法!")
)
sayHi()

2、以下方式可以模擬函數重載

fn hhSayHi arguments=
(
	if (arguments.count == 1) then
	(
		messageBox(arguments[1] + "第一個sayHi方法!")
	)
	else if (arguments.count == 2) then
	(
		messageBox(arguments[1] + "," + arguments[2] + "第二個sayHi方法!")
	)
	else if (arguments.count == 3) then
	(
		messageBox(arguments[1] + "," + arguments[2] + "," + arguments[3] + "第三個sayHi方法!")
	)
)
hhSayHi #("Tom")
hhSayHi #("Tom","Lucy")
hhSayHi #("Tom","Lucy","jame")


更多技術一起交流。。。(.mse type file open source code ,oh yeah !!!^_^good good study ,day day up!^_^)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章