问题标签 [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.

0 投票
1 回答
64 浏览

kotlin - Also/apply 的意外行为,无法将实例函数的引用传递给 also/apply

用几句话总结这个问题,这里有一个问题:

also(strings::add)不起作用,它说Type inference failed

虽然在同let一个地方做同样的事情:

是最小的可重现代码。

我想稍后使用字符串,所以不想在这里使用 let。我该怎么办?如果我尝试使用 apply 可能会发生相同的编译错误,因为也和 apply 具有相同的回调签名KFunction1<T, T>。应该如何使用also/apply 传递这些类型的引用?

0 投票
1 回答
46 浏览

android - 最后一个扩展函数没有被调用

我遇到了一个奇怪的错误,我无法弄清楚它为什么会发生。如果我调用我的原始函数,roundToMidnight()则不会调用并且日期不会四舍五入。

我原来的功能,什么不起作用:

有什么作用:

roundToMidnight()返回一个新的实例Date

是什么导致这两种功能的差异?我会说它们完全一样,我看到自己在一个月内将无错误功能重构为原始功能,因为我忘记了这种情况。

0 投票
1 回答
464 浏览

kotlin - Kotlin 中的运算符重载

字符串除法使用运算符重载Kotlin,请帮我完成这段代码。main 函数中不能进行任何更改。从两个字符串中查找共同点a=aabcc b=abdec answer=abc(唯一的常见字符)

0 投票
1 回答
154 浏览

kotlin - Kotlin:如何确定扩展功能是否存在

假设我有一个函数(在 Kotlin over Java 中):

其中 E 是我一无所知的一般类型。我可以在这个函数中确定是否存在扩展函数E.extFun()吗?如果是这样,怎么办?

0 投票
0 回答
448 浏览

android - 无法在 Android App Kotlin 中导入扩展功能

在另一个 Kotlin 文件(Extensions.kt)中导入声明的扩展函数时遇到问题,从另一个类(ForecastsRepository.kt)调用扩展函数它不会编译但是当我删除它时没有问题建造。显然我需要它并且想知道为什么导入它会成为一个问题。

这是课程:

这是扩展功能的文件:

因为它没有编译它让我认为这个错误更深。

IDE 还简化了函数调用,说明它是“未解析的引用”

GitHub 回购

感谢任何建议。

0 投票
1 回答
70 浏览

kotlin - Kotlin 扩展函数是否隐式声明成员变量?

我有一个数据类User

我创建了一个扩展函数来获得最佳标识符(首先是名称,然后是电子邮件)

但是我注意到在我的 IDE 中,如果我去掉所有的this单词,它仍然可以编译和运行。像:

我的结论是 Kotlin 扩展函数隐式支持成员变量,但我不确定。有没有人有任何关于这种现象的文档或解释它为什么/如何发生?

0 投票
2 回答
1482 浏览

kotlin - Kotlin 中的扩展方法是如何工作的?

在 Java 中,您不能扩展最终类,但在 Kotlin 中,您可以为此类最终类编写扩展方法。他们是如何让它在内部运作的?我找不到任何解释 Kotlin 扩展方法内部工作原理的文章。

0 投票
1 回答
72 浏览

kotlin - 无法为递增和递减运算符定义运算符扩展函数

由于某些原因。我无法为运算符定义扩展运算符函数,++同时--能够为相同的运算符定义成员运算符函数。

我错过了什么吗?有这种限制的原因吗?

0 投票
1 回答
270 浏览

android - 如何创建扩展函数来调整 Kotlin 中的图像大小?

我正在尝试制作一个扩展函数以在不同的类中使用它。我正在尝试创建它,但它不起作用。任何人都可以解决这个问题。

这是我的扩展:

这就是我尝试达到它的方式:

0 投票
0 回答
394 浏览

kotlin - 通过 Kotlin 中的反射访问扩展函数(值)

我想通过反射访问 Kotlin 的扩展函数/值。我有一个非常简单的例子,但我无法弄清楚这里有什么问题

当然,这在Playground中不起作用,因为kotlin-reflect.jar它不在类路径中。

这两个选项都不会产生预期的输出:extvalue. 我错过了什么?