问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

匿名函数的好处

发布网友 发布时间:2022-04-22 12:08

我来回答

3个回答

热心网友 时间:2022-05-14 16:20

  匿名函数出现在 matlab 中。它是matlab中定义的一种函数形式。
  匿名函数的作用(好处):匿名函数的作用:主要实现自己定义matlab中的函数,从而扩大函数的使用功能。
  函数简介:匿名函数不以文件形式驻留在文件夹上;他的生成方式最简捷,可在指令窗或任何函数体内通过指令直接生成。

  和内联函数(inline)相比,匿名函数的优越性在于可以直接使用workspace中的变量,不必申明,非常适合嵌入到M文件中。
  %例10-25 匿名函数举例。
  %本例列举3个匿名函数的例子,分别有0个、1个和两个输入参数。
  %首先介绍没有输入参数的匿名函数,只需用空格代替arglist即可。例如,编写求解当前时间的匿名函数如下所示。
  >> t = @() datestr(now);
  t() %函数的调用
  ans =
  14-Sep-2004 20:22:50
  %值得注意的是,调用该函数时,括号不能省略,否则, MATLAB 7.1将对程序不予计算,如下所示。
  >> t
  t =
  @() datestr(now)
  >>
  %再介绍有一个输入参数的匿名函数,该函数用于求所输入参数的平方,编制并运行程序如下所示。
  >> sqr = @(x) x.^2
  sqr =
  @(x) x.^2
  >> sqr(12)
  ans =
  144
  >>
  %最后介绍有两个输入参数的匿名函数,用户可以由此推导有多个参数的匿名函数,编制并运行程序如下所示。
  >> sumAxBy = @(x, y) (14*x + 41*y)
  sumAxBy =
  @(x, y) (14*x + 41*y)
  >> sumAxBy(3,7)
  ans =
  329
  >>
  注意这些定义过程,其中@这个标志符是很重要的。

热心网友 时间:2022-05-14 17:38

你是想问匿名类(Anonymous Classes)吧?

举一个比较极端的例子:
Thread t = new Thread ( new Runnable ( ) {
public void run() {
System.out.println(getClass().getName());
}
});

其中的
Runnable ( ) {
public void run() {
System.out.println(getClass().getName());
}
}
就是一个嵌套声明的匿名类。

好处,当然是有时候会令代码显得简洁,至少你不需要为此重新派生一个新的Thread/Runnable子类。像这样:
class MyThread() {
public void run() {
System.out.println(getClass().getName());
}
}

如果每一个工程中都取消使用匿名类的话,那这个工程内部的结构一定超乎想象的复杂。

这应该算是它的优点吧。

但是,它的缺点也应该算是很明显吧。你第一遍的时候有看明白头上的例子了么?尤其是当它不停的引用外部类和父类的成员方法/属性时,将会是一团糟。我相信没有一个程序员愿意读那样的代码。

热心网友 时间:2022-05-14 19:12

举一个比较极端的例子:
Thread t = new Thread ( new Runnable ( ) {
public void run() {
System.out.println(getClass().getName());
}
});
其中的
Runnable ( ) {
public void run() {
System.out.println(getClass().getName());
}
}
就是一个嵌套声明的匿名类。
好处,当然是有时候会令代码显得简洁,至少你不需要为此重新派生一个新的Thread/Runnable子类。像这样:
class MyThread() {
public void run() {
System.out.println(getClass().getName());
}
}
如果每一个工程中都取消使用匿名类的话,那这个工程内部的结构一定超乎想象的复杂。
这应该算是它的优点吧。
但是,它的缺点也应该算是很明显吧。你第一遍的时候有看明白头上的例子了么?尤其是当它不停的引用外部类和父类的成员方法/属性时,将会是一团糟。我相信没有一个程序员愿意读那样的代码。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 房产官司律师费多少 javascript中匿名函数何时用 什么叫匿名函数 404 Not Found 利用匿名函数法定义函数y=2 x*sin(3x)的指令 是]? js中匿名函数问题 java的匿名函数怎么用 Javascript 的原型链方法怎么调用匿名函数 javascript 匿名函数的用途到底是啥? 我是男生,我净身高1米7,是不是很矮? JavaScript 匿名函数有哪几种执行方式 C反映蛋白在正常值内增高为啥 javascript 中 匿名函数后面括号中函数怎么调用 是什么意思? (function(){ }(this, function(obj){ })) 这句日语是什么意思呢? javascript匿名函数 js 外部怎样调用闭包匿名函数内的方法 免疫球蛋白在正常范围内增高意味着什么 matlab 匿名函数 穿内增高踩逆天高跟鞋,明星们的身高有多少水分? python 中的匿名函数 平跟是什么意思 moza可以在ps5上用么 2022年3月9日后回吉林需要什么手续? 手机怎么样防盗 猫咪最喜欢破坏什么东西? 梅艳芳是因为什么原因去世的? 苏州今天康复医院能进吗? 一个人欠了别人的钱很久但还了,别人怎么想 null跪求温特沃斯第二季网盘资源 有什么剪切视频的软件吗 农行app还款到期日 梅艳芳是因为什么原因去世的? 有哪些好的视频编辑剪切的软件呢? 农业银行信用卡出账日和还款日期 Old Tom the killer whale,的翻译 农业银行信用卡还款日是21号账单日是几号 有什么软件可以剪切视频的 农行信用卡的账单日13号,那还款日是几号? 香菇和什么搭配做饺子馅好香? 香菇饺子怎么做才好吃 香菇肉馅饺子的做法大全