咖啡日语论坛

 找回密码
 注~册
搜索
查看: 33|回复: 0

新闻风向标解析lambda函数表达式的用法

[复制链接]
发表于 2022-10-30 20:14:17 | 显示全部楼层 |阅读模式

L函数之所以叫匿函数,是因为L函数没有字,它比一般的函数在业务逻辑上简单得多,可以随时销毁或创建。那么使用L函数有什么用处呢?L函数既有点又有缺点,下面IT培训将从L函数的定义、语法、缺点以及使用场景,带大家好好认识一下L函数。函数表达式用法小结口语雅思培训的相关问题可以到网站了解下,我们是业内领域专业的平台,您如果有需要可以咨询,相信可以帮到您,值得您的信赖!



1、什么是L函数?


P支持一种有趣的语法,它允许你速定义单行的比较小函数。这些叫做L的函数是从L中借用来的,可以被用在任何需要函数的地方。L函数是一个可以接收任意多个参数包括可选参数,并且返回单个表达式值的匿函数。有一点要注意,L函数不能包含命令,它们所包含的表达式也不能超过一个。


例子:


,:+


0102180


2、L函数的语法


L语句中,冒号前是参数,可以有0个或多个,用逗号隔开,冒号右边是返回值。L语句构建的其是一个函数对象。


(1)参数:


=:'H'


()


#'H'


(2)有参数,默认值


=,:*


(6,7)


#42


(3)有参数,有默认值


==5,=8:*


()


#40


(5,6)


#30


(4)和,,连用


=[2,18,9,22,17,24,8,12,27]


(:%3==0,)#2


((:%3==0,))#3


#[18,9,24,12,27]


(:*2+10,)#2


((:*2+10,))#3


#[14,46,28,54,44,58,26,34,64]


#3


(,:+,)


#139


3、L函数的使用场景。


(1)函数式编程:


例如:一个整数列表,要求按照列表中元素的绝对值大小升序排列


1=[3,5,-4,-1,0,-2,-6]


(1,=:())


[0,-1,-2,3,-4,5,-6]


排序函数支持接收一个函数作为参数,该参数作为的排序依据,这里按照列表元素的绝对值进行排序。


当然,我也可以用普通函数来现:


():


()(1,=)


[0,-1,-2,3,-4,5,-6]


只不过是这种方式代码看起来不够P而已。


=,:+


(5,6)


11


(,:+)(5,6)


11


(2)P中比较常见的筛选、小刷子、合并,都可以用表达式来生成!对于序列来讲,有个函数式编程工具:()、()和()。(,):把中的值当参数逐个传给,返回一个包含函数执行结果的。如果有两个参数,(,1,2)。


#求1~20的平方


((:*,(1,21)))#P2使用(:*,(1,21))


[1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400]


(,):对中的依次执行(),将执行结果为T的组成一个LST(取决于的类型)返回。


#求1~20之间的偶数


((:%2==0,(1,21)))#P2使用(:%2==0,(1,21))


[2,4,6,8,10,12,14,16,18,20]


(,):接收的参数个数只能为2,先把中首个值和第二个值当参数传给,再把的返回值和第个值当参数传给,然后只返回一个结果。


#求1~100之和


#P3之后需要导入模块


(,:+,(1,101))


5050


#求1~100之和,再加上10000


(,:+,(1,101),10000)


15050


(3)闭包


闭包:一个定义在函数内部的函数,闭包使得变量即使脱离了该函数的作用域范围也依然能被访问到。


来看一个用函数作为闭包的例子。


():


:+2=(5)


2(15)


20


4、L函数的缺点。


点:


(1)函数比较轻便,代码简洁,不增加额外变量。即用即删除,很适合需要完成一项功能,但是此功能只在此一处使用。


(2)匿函数,一般用来给,这样的函数式编程服务;


(3)作为回调函数,传递给某些应用,比如消息处理,可以立刻传递(需变量)。


缺点:


L函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。和其他很多语言相比,P的L限制多多,比较严重的当属它只能由一条表达式组成。这个限制主要是为了防止滥用,因为当人们发觉很方便,就比较容易滥用,可是用多了会让程序看起来不那么清晰,毕竟每个人对于抽象层级的忍耐和理解程度都有所不同。


总之,L函数的用处有很多,因为它轻便简介的特性,使它助于减少程序的耦合度等等。想要学习了解L函数的更多内容,欢迎咨询IT培训,线上线下双重保障让学习更高效。


推荐阅读:


J培训指南:清楚J代码坏味道让代码性能更高


你真的知道J程序计数器吗程序员为何都喜欢搜集这些呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注~册

本版积分规则

小黑屋|手机版|咖啡日语

GMT+8, 2025-1-12 23:18

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表