你好,Scilab的新人, 我正在做一个脚本,我通过菜单发送用户,并为每个子菜单创建一个功能。 我读到函数可以有0个输入参数,但它必须至少有1个输出参数。 根据这个我写的这个
//execution file landing menu
option='1'
while (option~=0)
clc
mprintf('1 - First Sub-menu')
mprintf('2 - Second Sub-menu')
option=input('Select the option: ', 's')
select option
case '1' then
result=sub_one(),
case '2' then
result=sub_two(),
else
disp('Invalid Option!!!')
end
end
//Function sub_one
function result=sub_one()
option='1'
while (option~=0)
clc
mprintf('1 - Do stuff')
mprintf('2 - Do other stuff')
option=input('Select the option: ', 's')
select option
case '1' then
result=do_stuff(),
case '2' then
result=do_other_stuff(),
else
disp('Invalid Option!!!')
end
end
result=0
endfunction
我总是得到错误
result=sub_one(),
!--error 4
Undefined variable: sub_one
at line xx of exec file called by :
exec('dir\dir\dir\file.sce', -1)
这让我很烦恼
有些专家,然后我?
答案 0 :(得分:1)
Scilab从上到下解析文件,因此当它位于文件顶部的主要部分时,sub_one
尚不存在。如果您改变订单,它将起作用。
如果您想保留文件中的订单,您还可以执行以下操作:
// Define some main function
function main()
disp('hello from main')
sub_one()
endfunction
// Define some sub function
function sub_one()
disp('hello from sub_one')
endfunction
// call function main to execute
main()