See this code:
Code: Select all
f(){
}
ff:=f
ff([unset,unset]*) ;It can run
ff(unset,unset) ;It can run
f([unset,unset]*) ;It can run
f(unset,unset) ;It cannot run and will throw a load time error which should never happen.
Code: Select all
f(){
}
ff:=f
ff([unset,unset]*) ;It can run
ff(unset,unset) ;It can run
f([unset,unset]*) ;It can run
f(unset,unset) ;It cannot run and will throw a load time error which should never happen.
@Lexicos
My purpose is to remove the valuable load-time validation only for func's unsset value. But now I have found it is hard to achieve in load time.The only way to make them fully consistent in general would be to remove valuable load-time validation.
Since you haven't answered my question, I conclude there is no purpose.
That is what you want to do in order to allow your unexplained code to run. It is not the purpose of your code, or the purpose of specifying "unset" for parameters that clearly couldn't ever accept a value.My purpose is to remove the valuable load-time validation only for func's unsset value.