| 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程序计数器吗程序员为何都喜欢搜集这些呢
 |