我对MATLAB编程完全不熟悉,但是我收到了一个脚本,它以某种方式省略了function s的所有end语句。

例如:

function pushbutton_open_Callback(hObject, eventdata, handles)
[FileName,PathName,FilterIndex] = uigetfile('*.txt','Select the CONFIG file');

if FileName~=0
    init_session(hObject, FileName, PathName);
end

% shouldn't there be an "end" here?

function pushbutton_start_Callback(hObject, eventdata, handles)
% ....

那个syle“还好吗?” 显然,当我尝试运行它时没有语法错误,并且只要我们使用它,程序就会起作用。 函数是否自动运行直到下一个function语句?

===============>>#1 票数:10 已采纳

我猜想在典型的MATLAB代码中,最常见的是忽略end 这样做没有问题,但如果你想把它们放在那也没关系。 我不会说做出任何选择都是不好的风格(FWIW,我通常会把它们排除在外)。

在某些情况下,他们必须在那里,例如:

  1. 如果您正在编写面向对象的代码,那么方法函数需要end
  2. 嵌套函数需要end
  3. 如果文件中的任何函数或子函数有end ,则它们都必须。

由于典型的简单MATLAB代码,每个文件大多有一个函数,可能有一些子函数,没有函数嵌套,并且不是面向对象的,它将大部分省略end

===============>>#2 票数:4

它完全没问题,matlab明白文件的结尾是函数的结尾。 但是,如果在同一文件中有多个(嵌套)函数,则必须写入end

例如:

function y=f(x)
  y=x^2+g(x)
  function y2=g(x2)
    y2=2*x2;
  end
end

===============>>#3 票数:1

是的,虽然它被认为是不好的风格 (迂腐),有些人宁愿不在代码中使用多余的线条。

  ask by slhck translate from so

未解决问题?本站智能推荐:

1回复

如果函数也是MATLAB中的变量会发生什么?

标题可能听起来很奇怪。 所以这是一个例子。 假设length是在MATLAB中广泛使用的关键字或内部函数,有人保存了一个名为length的变量。 我可以运行以下脚本而没有任何问题,但如果我将它放在一个函数中它会产生错误(使用R2015b) 一个有效的脚本 功能不起作用
2回复

Matlab有C#(或C ++)关键字“ using”的等效项吗?

标题中全都说了。 我修改了一个使用大量参数的函数,以便仅为其提供一个内部包含所有这些参数的结构。 现在,我不想重写函数中的所有内容(将param1转换为struct.param1),所以我想输入类似“ using struct”的信息,这将允许整个函数从“ struct.param1”中
2回复

什么是c ++函数签名附加关键字?

我找到了一个用c ++编写的JNI本机函数示例,其签名如下 这些JNIEXPORT和JNICALL关键字是什么? 你怎么称呼他们? 他们在做什么?
1回复

函数返回类型和名称之间存在未知关键字

很抱歉在这里发布,我已经在Google上搜索了所有内容,但找不到任何东西,但这主要是由于这样的事实(从标题中可以看到),我真的不知道如何称呼我的名字寻找。 如果我知道要搜索的内容,那么我会在其他地方找到它:)基本上,有时我看到在函数名称和返回类型之间使用了宏定义,看起来很奇怪,例如'__som
6回复

有没有办法告诉python函数收到默认值或关键字参数?

是否有任何方法可以告诉func何时被调用,b值100取自默认值或关键字参数?
4回复

将字典作为关键字参数传递给函数

我想使用字典在python中调用一个函数。 这是一些代码: 这将打印{'param': 'test'}但我希望仅打印test 。 我希望它可以类似地工作以获取更多参数: 这可能吗?
4回复

如何在python函数中强制一个关键字

我正在实现带有三个关键字的功能。 每个关键字的默认值为None ,但是我需要强制用户至少传递一个关键字。 我之所以要使用关键字,是因为关键字名称a, b和c是描述性的,并且将帮助用户弄清楚他需要将什么传递给method 。 我如何完成任务? 在上面的示例中,当然假设a, b和c具有
4回复

如果满足关键字,则返回函数中的第一个数字

我正在处理数据,并且已将其设置为吐出我需要的物品。 例: 我想要的是,如果在文本中找到'lot' ,则吐出每手的金额,可以是小写字母或大写字母。 我想我的代码已经构建了一半,但是由于该值不在设定的位置,所以我不知道如何检索它。 另外,上面的列表来自TEXT字符串,因此无法识别整数
3回复

根据用户输入调用具有相同名称的python函数

你好,我试图根据用户输入调用一个或多个函数。 这是我到目前为止所写的。 那是我的代码,我被卡住了,请帮忙。 问题是它没有选择正确的功能
4回复

关键字或语句与函数调用之间有什么区别?

我最近在想这个,因为Python 3正在将print从一个语句改为一个函数。 但是,Ruby和CoffeeScript采用相反的方法,因为你经常从函数中省略括号,从而模糊了关键字/语句和函数之间的区别。 (没有括号的函数调用看起来很像关键字。) 一般来说,关键字和函数之间有什么区别