openlang

获取没有名称的上下文值

我正在了解 Kotlin 最近加入的 Context parameters。

在某些情况下,一个代码块可以使用一个或多个上下文,却没法直接引用它们(没有变量绑定到它们)。它们只能在调用带上下文参数的函数时继续向下传递。

获取这种没有名称的上下文,通常怎么写?

为了拿到它,我写了这个小工具函数。

context(current: C) inline fun <reified C> grabContext() = current

不过,也许已经有标准函数能做这件事。

从英语翻译查看原文

后续讨论 2

顺着彼此的依据读下去

同一个问题的其他角度

  1. 怎样继承另一个类里面的类?

    你好, 在一个我无法修改代码的包里,类的层次结构如下。 我想给 Inner 加个方便使用的包装,但因为 Inner 依赖外层实例,目前只做到把它放进外层类的子类里面。 可惜,在多个地方继承 Outer,就意味着每个新子类里都得重复这个方便使用的 ca…

    回复 1最近活动 scala
  2. 比较 Lean4 中的 have 和 let 绑定

    我发现下面两个表达式 以及 行为完全相同。证明定理时也是这样。 它们可以互换吗?区别在哪里?

    回复 3最近活动 lean-4
  3. 初始化以字符串数组为值的 TypeScript Map

    我在创建一个 Map,其中每个条目都保存字符串数组。怎样在一条语句中同时声明类型并完成初始化? 我(天真地)这样试了一下。 结果是下面这个错误。

    回复 2最近活动 typescript