【发布时间】:2020-09-04 20:04:33
【问题描述】:
例如,假设我有一个名为 my_file.m 的文件,我想这样做:
file_fullpath = ['path_to_file', filesep, 'my_file.m'];
is_function(file_fullpath)
我想要一个命令(不是is_function),它可以确定file_fullpath 是一个函数还是一个脚本,如果文件不存在或有一些语法问题使其无法确定,则会抛出错误.我猜应该存在一些内置函数来做到这一点,因为Matlab正确地为导航器中的函数和脚本分配了不同的图标。
我可以编写一个函数来解析文件,寻找合适的关键字,但这可能既不简单,也不快速,也没有必要。
【问题讨论】:
-
你可以add the folder with the file to the path然后尝试调用函数
my_file(...)。如果它是一个函数,它应该运行。如果不是,它应该抛出一个错误。 -
函数 M 文件的第一个非注释行以
function开头。这就是您需要寻找的全部。丢弃以%开头的行,并期望function。