![]() |
1
26
这是一个 非正式的 概述这些名称是如何形成的。 允许
在Haskell等FP语言中,您可以使用
Kotlin中的等效代码(尽管过于复杂)是
的典型用法
具有
这个
等效的Kotlin是
申请
在问题中
https://youtrack.jetbrains.com/issue/KT-6903
和
https://youtrack.jetbrains.com/issue/KT-6094
您可以看到有关命名的讨论。备选方案,如
讽刺的是,Xtend语言提供了
with-operator
而且
拟议的名称包括“applyIt”、“applyLet”、“on”、“tap”、“touch”、“peek”、“make”。但“也”获胜,因为它不会与任何关键字或其他stdlib函数发生冲突,其用法(或多或少)读起来像英语句子。 实例
读起来有点像
其他stdlib函数的用法读起来有点像英语句子,包括
跑
最后
第二个签名
我不知道命名的任何历史原因。 |
![]() |
2
10
我强烈建议你读一下 blog 为了理解所有这些作用域函数。 这些博客的一些关键点:
在每个字母的第一个字母之后,你会得到首字母缩略词LARA。
|
![]() |
3
8
在@kirillRakhman的回答中添加: 命名过程中的一个主要部分是(仍然是)在主要用例中的流畅阅读体验。
我觉得这不太好用
|
![]() |
4
0
范围功能总结: 允许 :用于检查空值,也优于多线程情况下的简单空值检查 而且 :与“let”相同,但它不会将最后一行返回为“let”,而是“还”将返回调用它的对象,而“不是最后一行!” 申请 :如果您想更改对象的属性,可以使用此函数来修改对象,并且当我们在对象的类中工作时,它使用“this”而不是“it” 跑 :相当于“apply”,但它不会返回调用它的对象,而是返回最后一行 具有 :与“run”相同,但签名不同。 |
![]() |
monksy · 在scala中测试高阶函数 7 年前 |
![]() |
Duncan C · 这是Swift 4编译器错误吗? 7 年前 |
![]() |
Thomas Cook · Kotlin高阶函数合成 7 年前 |
![]() |
Alonso · 高阶函数调用奇怪的行为 7 年前 |
![]() |
pashadia · 从变量中对新对象调用方法 7 年前 |
![]() |
morne · 如果内部有脂肪箭头功能 7 年前 |
![]() |
Akash Sethi · 具有“Val”和“Def”的高阶函数` 7 年前 |
![]() |
Riadiani · 从Javascript中的函数获取值 8 年前 |