type-systems

    8热度

    1回答

    编程在斯卡拉第436页,作者给出了一个编译器检查的例子,每个类型参数只用于适当分类的位置。 abstract class Cat[-T, +U] { def meow[W^-](volume: T^-, listener: Cat[U^+, T^-]^-) : Cat[Cat[U^+, T^-]^-, U^+]^+ } 该示例如何工作?为什么W和第一个T得到一个负号?该算法如何实际

    3热度

    3回答

    我试图创建一种从通用卡类继承的各种类型的卡的表示,并且这些类都包含对其拥有的套牌的引用。 我试着重新声明他们,建议here,但它仍然不会转换为特定的卡类型。 我目前拥有的代码是这样的: public class Deck<T> : List<T> where T : Card { void Shuffle() { throw new NotImpleme

    1热度

    1回答

    我是新来透析器,和我希望的它是由回答这个问题操作时有人能够给我一个快速的想法。 我认为下面的函数,给定一个数X和一个非负整数n,将产生一个数字。 (X到N次方) -spec pow(X :: number(), N :: non_neg_integer) -> number(). pow(X, N) -> pow(X, N, 1). pow(_X, 0, R) -> R;

    1热度

    2回答

    我有一个节点类,它可以指向另一个节点(通过next)。该节点可以分为不同的层次结构。然后,我可以在单链表中的图像中获得这些不同节点的链。然后,从该列表中的任意节点开始,我想搜索特定类型的第一个节点。因此,我为此创建了一个类型参数化函数check。但它找不到正确的匹配。下面是完整的输出代码示例,从斯卡拉底稿获得: class A (i: Int) { var next: Option[A]

    9热度

    2回答

    我是Python新手。我熟悉Java,C/C++和OCaml。我了解Lambda微积分和基本类型理论,因为我在大学学习了一门编程语言课程。 有了这些背景下,我想读这 - http://www.cafepy.com/article/python_types_and_objects/python_types_and_objects.html 某处,他提到了这一点: (类型 '对象')是(类型 '类型'

    6热度

    1回答

    可能重复: Making (a, a) a Functor 我写了下面执行快速排序: import Data.List (partition) quicksort [] = [] quicksort (x:xs) = let (smaller, notSmaller) = partition (< x) xs in quicksort smaller ++ x : qu

    2热度

    1回答

    这可能不是最正确的术语,但我的意思是盒装类型是Box[T],其类型为T。所以Option[Int]是盒装的Int。 如何才能提取这些类型?我的天真尝试: //extractor type X[Box[E]] = E //doesn't compile. E not found //boxed type boxed = Option[Int] //unboxed type parame

    4热度

    1回答

    可能重复: Enforce type difference 由于是一个广义类型约束强制执行阶=:=平等,是有一个强制执行“不等于”对于类型?基本上!=但类型? 编辑 评论下方指向现有Q&A,答案似乎是:(1)不,它不是在标准库(2)是的,这是可能的定义之一。 所以我会修改我的问题,因为我看到答案后发生在我身上的一个想法。 鉴于现有的解决方案: sealed class =!=[A,B] tra

    4热度

    2回答

    我想从函数返回一个类型。例如: class Super case class One(a: Int) extends Super case class Two(b: Float) extends Super case class Unknown extends Super def decide(criterion: String): ??? = { criterion matc

    0热度

    1回答

    我有一些问题。我需要在Map中存储一个函数,但是这个函数必须有不同类型的参数。即: Map(1 -> Int => String, 2 -> String => SomeClass) and so on. 因此,Function1的类型参数不应该是Any类型。 我该怎么办?有任何想法吗。 谢谢。