问题标签 [context-bound]
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.
scala - Scala 上下文边界
在 scala 中使用上下文边界,您可以执行以下操作
或者干脆
我如何表达在范围内Seq
具有适当隐式HasBuild
对象的任何元素的类型?如果没有太多的魔法和外部库,这可能吗?
Seq[WhatTypeGoesHere]
- 我应该能够HasBuild
为每个元素找到合适的
这显然不能编译:
scala - 使用上下文绑定时找不到隐式值
我正在使用以下用 Scala 2.11.8 编写的代码:
它成功编译。
如您所见,a: Acceptable[T]
参数应该很容易转换为上下文绑定:
但是在那之后,编译开始失败并出现错误:
找不到参数 e 的隐式值:app.Enc[Int]
为什么会这样?
更新:
我尝试-Xlog-implicits
了编译器选项,编译日志给了我:
好的,我理解这个输出。但是为什么它在隐式参数的情况下起作用?
scala - 在 Scala 中,如何为具有使用不同上下文边界的函数的类创建特征
现在我想序列化/反序列化 Json 数据,有几个 json 库可供选择。但是,它们使用不同的上下文边界进行编码/解码,这使得很难为它们定义特征。
有没有办法在特征中定义写入/读取?
scala - Scala 嵌套隐式类型参数
你能解释一下T
这个方法定义中的类型吗?这是来自加特林。我知道冒号用于上下文绑定值。在这里,我看到它们嵌套。是#
为了什么?
scala - 可变参数的上下文绑定
几天前我开始学习Cats,我想appendOptional
为Map[String, _: Show]
.
我从以下想法开始:
并像这样使用它:
我知道这种方法非常幼稚和直接,因为implicitly[Show[T]].show(value)
实际上会查找Show[Any]
.
此外,我有一个想法接受HList
上下文绑定,但我还没有找到任何例子。
另一种变体是创建许多重载方法(就像在许多库中所做的那样):
问题:有没有办法为可变参数函数定义上下文绑定?
scala - 找不到 org.scalacheck.Arbitrary 类型的证据参数的隐式值
我试图使用random
具有以下签名的方法:
在一个名为的案例类上Checking
,但我得到了这个:
找不到 org.scalacheck.Arbitrary [com.organization.lambda.Checking] 类型的证据参数的隐式值
我知道这是由于上下文边界的一些问题,但我无法理解这一点并理解必须做什么。
scala - Scala - 方法类型参数
我试图理解 scala 编译器自动生成的一些代码,但我不知道要搜索什么。
我有以下课程:
反编译类文件后,f1 和 f2 方法的签名如下所示:
如您所见,这些方法有一个附加参数。我在哪里可以找到有关此方法类型参数符号F[_, _] 的一些文档:Arrow1?
scala - 如何通过有界泛型解决隐式查找?
我有一系列 Foo 类:
我有一个类型类和所有 Foos 的实例:
我尝试从一个方法中获取类型类实例:
No implicits found for parameter e: CanBar[T]
即使我导入了所有CanBar[Foo]
实例,编译器也会抱怨。
我的假设是编译器正在寻找 T(它是 Any 或 Foo)并且没有找到任何东西。我是否正确,在这种情况下如何使它工作(没有宏)
scala - 在具有类型参数的函数中调用的类型类方法
我正在尝试在带有类型参数的函数中使用类型类方法。不幸的是,我无法让它工作。
当我尝试使用addRegisterInOut方法时,编译器会在以下代码中引发错误。
我明白了
我希望编译器仅在未定义隐式的类型上停止,但它似乎总是发生。
scala - 像“C:ClassTag:Manifest”这样的泛型类型是什么意思?
我发现了一些片段如下:
泛型类型的含义是C: ClassTag : Manifest
什么?