问题标签 [extension-function]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - 使用扩展函数将字符串中的每个单词大写
我想在 Kotlin 中做一个扩展函数,将字符串中每个单词的第一个字母转换为大写
到
我尝试使用该capitalize()
方法。这只是将 . 的第一个字母大写String
。
kotlin - 如何在 Kotlin 中内联扩展函数的接收器参数?
受这个问题的启发,我在想如何内联扩展函数的接收器参数?理论上是这样的:
这predicate
就是我们的接收函数:
现在,对于上面的代码,我希望编译器抱怨它需要crossinline
;但是,我收到以下警告:
警告:内联的预期性能影响
public inline operator fun <T> ((T) -> Boolean).not(): (T) -> Boolean
是微不足道的。内联最适合具有函数类型参数的函数
这让我相信编译器没有内联该函数的接收器。添加inline
orcrossinline
只产生语法错误。
无法内联第二个函数会降低第一个函数的性能。
有没有办法告诉编译器内联该接收器参数?
lambda - 对理解 lambda 和接收器感到困惑
Kotlin 版本 1.2.50
我一直在 youtube https://www.youtube.com/watch?v=gPH9XnvpoXE上关注本教程的一些示例。还有一些事情我已经理解了,但仍然有些混乱。我在下面的代码中留下了我不确定发生了什么的注释。
kotlin - Kotlin 将函数扩展为未知类型
是否可以将扩展函数与返回未指定值类型的函数一起使用?
我必须这样做以避免错误,但我真的希望它在一行中。
我在第一个例子中得到的错误是
有任何想法吗?
编辑:更多信息
这是get函数的声明。
android - Kotlin/Android:递归查找所有类型 T 的视图
所以我有这个扩展功能ViewGroup
:
我像这样使用它:
但不知何故,它不起作用。有什么我做错了吗?
顺便说一句,tabs
是 aLinearLayout
其中包含三个Button
s。
kotlin - Kotlin - 使扩展功能在整个项目中都可以访问
我在一个类中有这个扩展函数:
我想在另一个类中重用这个函数而不需要复制代码。我该怎么做?谢谢你。
android - Kotlin - 根据扩展函数参数修改 Picasso 的 RequestCreator
我有一个ImageView
类的扩展功能。我已经实现了一些关于如何根据传递的参数加载图像的逻辑。但在这里我被困住了。这些fit()
等centerCrop()
返回 Picasso's RequestCreator
,我什至无法构造它(它具有包私有构造函数)以便稍后修改它(基于参数)。我只是不知道该怎么做。我设法做到这一点的唯一方法是如下所示(请注意:你的眼睛会开始流血)。我找不到“正常”、“好”的方法来做到这一点。
所以我问你:我应该怎么做?
}
kotlin - kotlin中具有扩展功能的伴侣对象?
我想拥有扩展功能并使用来自kotlin-logging 的记录器,并在伴随对象中拥有常量。
我的功能:
问题是我应该放在哪里val logger = KotlinLogging.logger {}
,MY_CONST
因为我不能使用带有扩展功能的伴生对象?
kotlin - 私有顶级扩展函数和类内部私有扩展函数的区别
我们目前正在将我们的项目切换到 Kotlin,并遇到以下问题:
我们只需要在给定类中的某个扩展函数。因此,我们有两种可能性:(1)private
在文件顶层声明扩展函数或(2)private
在类中声明扩展函数。
在MCVE之后:
顶级示例(文件C1.kt
):
内部类示例(文件C2.kt
):
问题:
这两种方法有什么区别,除了
C1.kt
扩展功能String.double()
对其他可能的文件成员(例如同一文件中的其他类)也是可见的?由于我们希望实现代码“尽可能 kotlinic”,因此我们想知道这两种方法中的哪一种是建议的方法。上面的示例是否有官方建议/样式指南?我认为将扩展函数声明为尽可能接近其预期用途被认为是一种良好的做法,因此在上面的示例中
C2
会建议使用的结构?
generics - 消除 kotlin 泛型函数的歧义
背景:
我正在开发一个小型代码生成器。我想避免在实际生成代码之前没有代码提示的常见问题。为了解决这个问题,我创建了一个我打算生成的通用虚拟方法。
这将在 ide 中提供提示。实际生成后具体方法
应该使用它们。
问题:
不幸的是,这会导致以下错误。
我希望编译器会选择最具体的实现,但似乎并非如此。
有没有办法消除这些签名之间的歧义?