获取函数和值的函数的名称以及将函数应用于值后的返回值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取函数和值的函数的名称以及将函数应用于值后的返回值相关的知识,希望对你有一定的参考价值。

我很好奇Lambda Calculus中是否有这个函数的特定名称

const whatsMyName = f => a => { f(a); return a }

这也是正确的签名吗?

// (f -> a -> b) -> a -> a

const trace = whatsMyName(console.log)

谢谢!

- 编辑:

这只是S(K)或替换(常数)。我能够解决这个问题,一个更精细的答案和良好的参考:

Functional programming construct for composing identity and side effect

具体答案

https://stackoverflow.com/a/46120634/1560484

谢谢@ftor的评论!

答案

我想出了如何从其他组合器构造它。可能没有特殊名称,它只是从K(常数)和S(替换)派生而来。

 const K = x => y => x
 const S = f => g => x => f(x)(g(x));
 const whatsMyName = S(K)
 const trace = whatsMyName(console.log)

编辑:

@ftor的评论指出了一个更完整的答案:

Functional programming construct for composing identity and side effect

以上是关于获取函数和值的函数的名称以及将函数应用于值后的返回值的主要内容,如果未能解决你的问题,请参考以下文章

将函数列表应用于值列表

python 函数进阶

在c语言中子函数引用主函数中的值和引用主函数某个值的地址的区别

Python获取函数参数个数和默认参数

js 如何创建带返回值的函数

在数据集中获取多个属性的名称和值