Mic*_*ael 3 scala view implicit-conversion
我看到了一些示例,其中转换函数T => S作为隐式参数传递.Scala 调用此函数view甚至提供特殊的语法糖view bound- 对于这种情况.
但是我们已经进行了隐式转换!我可以views用隐式转换替换这些(即作为隐式参数传递的转换函数)吗??我可以views用隐含的转换来做什么?
我对你的问题的理解是,有什么好处
case class Num(i: Int)
implicit def intToNum(i: Int) = Num(i)
def test[A <% Num](a: A): Int = a.i
test(33)
Run Code Online (Sandbox Code Playgroud)
过度
def test2(a: Num): Int = a.i
test2(33)
Run Code Online (Sandbox Code Playgroud)
是?那么视图的含义正是如此:类型T可以被视为另一种类型S.您的方法或函数可能首先想要处理T. 一个例子是Ordered:
def sort[A <% Ordered[A]](x: A, y: A): (A, A) = if (x < y) (x, y) else (y, x)
sort(1, 2) // --> (1,2)
sort("B", "A") // --> (A,B)
Run Code Online (Sandbox Code Playgroud)
视图边界的另外两个用例:
| 归档时间: |
|
| 查看次数: |
809 次 |
| 最近记录: |