标签: view-bound

限制组合隐式参数和视图/上下文边界的原因是什么?

最近对Scala master的一个提交删除了将上下文/视图边界与隐式参数组合的限制.这是一个很大的改进,减少了样板量,但之前做出限制的原因是什么,以及我们现在可以预期的后果是什么?

scala implicit context-bound view-bound

8
推荐指数
1
解决办法
291
查看次数

如何表达(隐式conv:String => A)作为视图绑定

我问自己什么是视图绑定相当于

(implicit conv: String => A)
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试是简单地声明类型参数A,如下所示:

[String <% A]
Run Code Online (Sandbox Code Playgroud)

但Scala编译器抱怨"未找到:类型A".

有什么建议?

scala implicit-conversion implicits view-bound

3
推荐指数
1
解决办法
410
查看次数

使用清单实例化视图有界类型

我正在尝试使用Scala的清单来实例化一个类型,并且当在具有视图绑定的类型上对该类型进行参数化时,我遇到了问题.我已将问题归结为以下代码:

class foo[X <% Ordered[X]]() {}

def boo[T](implicit m : Manifest[T]) = { m.erasure.newInstance().asInstanceOf[T] }

boo[foo[String]]

java.lang.InstantiationException: foo
    at java.lang.Class.newInstance0(Class.java:357)
    at java.lang.Class.newInstance(Class.java:325)
    . . .
Run Code Online (Sandbox Code Playgroud)

所以你可以看到我们有一个简单的类foo,它在X上参数化; 这是由Ordered [X]限定的视图.boo函数只是尝试使用清单来实例化foo [String]的新实例.然而,当调用这个函数时,事情会非常糟糕,我得到的堆栈跟踪就像我展示的那样开始.当foo的类型参数不是视图有界时,实例化工作没有问题.我假设这与视图绑定只是存在X => Ordered [X]的隐式转换的语法糖这一事实有关,并且某种方式依赖于另一个清单的清单导致了问题.但是,我不知道发生了什么,或者更重要的是,如何解决它.这在Scala中是否可能,如果不是,人们如何实现类似的东西呢?

reflection scala manifest type-erasure view-bound

3
推荐指数
2
解决办法
184
查看次数

如何在swift中更改设备大小时获取子视图的当前大小?

我必须查看:view_1和view_2.view_1高度与主视图控制器高度成正比,我以编程方式将view_2添加为view_1的子视图,其比例高度.

问题

当设备大小改变从iPhone 6到iPhone 5时,view_1正确调整但其高度我传递给绘制其子视图view_2的功能仍然是在界面构建器中设置的,因此它在iPhone 4移动时超出界限来自iPhone 6

因此,我想知道如何获得正确大小的视图,以便自动调整大小以适应当前设备?

ios view-bound swift

1
推荐指数
1
解决办法
4788
查看次数