如何在横函数中添加lambda表达式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在横函数中添加lambda表达式?相关的知识,希望对你有一定的参考价值。
我是Haskell的新手,我正在使用map函数和lambda表达式。使用地图我做了横向功能,我想添加lambda表达式,但我感到困惑,它无法正常工作。
码:
tfunc :: [Int] -> [Int]
tfunc xs = map tfunc1 xs
where tfunc1 x = x*3+x
输出:
F17BCSE206>tfunc [1,2,3,4,5]
[4,8,12,16,20] :: [Int]
我想使用lambda表达式。任何人都可以帮助我并在给定的函数中使用lambda表达式。
答案
请记住,像tfunc1 x = ...
这样的函数定义只是将名称绑定到lambda表达式的语法糖,所以tfunc1 = x -> ...
。然后,由于=
的两面可以互换使用,你可以简单地替换
tfunc1 xs = map tfunc1 xs where tfunc1 = x -> x*3 + x
同
tfunc1 xs = map (x -> x*3 + x) xs where tfunc1 = x -> x*3 + x
由于where
条款现在完全无关,你可以简单地删除它。
tfunc1 xs = map (x -> x*3 + x) xs
以上是关于如何在横函数中添加lambda表达式?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 lambda 表达式将 DataTable 记录添加到列表中? [复制]
使用 savedInstanceState 保存和恢复 Kotlin lambda