Scilab Error 4未定义变量<function_name>

时间:2016-12-06 13:22:59

标签: function undefined scilab

你好,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)

这让我很烦恼

有些专家,然后我?

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()