type-inference

    1热度

    1回答

    C#有关键字var,它强制编译器推断变量类型。 c#编译器还必须检查变量的类型是否与分配的值兼容。 我听说var可能会减慢编译速度,我不应该使用它,但我喜欢懒惰,并让编译器为我工作,特别是您必须为声明期间为var声明的变量赋值。 那么它会影响大量编译时间,而使用很多?

    1热度

    2回答

    我想在以下情况下实现某种类型的安全。 基本上,我有不同类型的请求存储在数据库中,它们的类型用一些字符串代码标识。出于商业原因,此代码不会与匹配的类名称。 每种类型的请求都包含某种有效负载,有效负载的类型直接取决于请求的类型。 下面是我迄今取得的简化版本: trait Request[Payload] { def metadata: String // Not relevant

    1热度

    2回答

    我与一些的Java API,这看起来有点像这个(这些都是Java类的,我就用Scala的语法简洁集成: class AbstractFooBuilder[ActualType <: AbstractFooBuilder, WhatToBuild <: Foo] { // ... def withFoo(f: Foo): ActualType def withBar(b

    1热度

    2回答

    我知道我们不能实例化一个接口,但是在做关于Streams的书的教程时,我感到困惑。 我只是用部分代码来突出显示我不明白的部分。 // count occurences of each word in a Stream<String> sorted by word Map<String, Long> wordCounts = Files.lines(Paths.get("Cha

    0热度

    1回答

    我有一个通用的包装类型的可变数量的包装类型: public class Wrap<T> { public T Contents { get; set; } } 我可以包装任何对象在包裹物或解开一个包装对象: public static class WrapHelpers { public static Wrap<T> Wrap<T>(this T contents) {

    2热度

    1回答

    我对Haskell mongoDB驱动程序和access函数的返回类型有一些困难。据the hackage documentation和the tutorial on the haskell-mongodb github page,access应该有类型 MonadIO m => Pipe -> AccessMode -> Database -> Action m a -> m (Either F

    -2热度

    2回答

    我有这些类与方法: public abstract class Bar<T extends Bar> { Foo myFoo; public Optional<Foo> findFoo() { return Optional.ofNullable(this.myFoo); } } public class Baz extends Bar<Baz> { } ,其中fo

    1热度

    1回答

    我找下面的解释,如果我运行像这样的东西,我得到一个unknown类型, SELECT pg_typeof(a) FROM (SELECT null) AS t(a); pg_typeof ----------- unknown (1 row) 然而,随着更多的复杂性就变得text神奇, SELECT pg_typeof(a) FROM ( SELECT null

    1热度

    1回答

    我经常发现我想声明一个常量对象是一些宽泛的类型,以便编译器可以检查初始化。但后来当我使用那个对象时,我想用具体的,推断出的类型。如果我为它声明一个类型,我无法找到访问对象的推断类型。示例: 电子表格由指向CSS属性集合的字符串组成。初始化电子表格时,我想强制每个样式的成员都是CSS属性。所以: type MyStyleDeclaration<K extends string = string> =

    3热度

    2回答

    trait foo[F] { def test: F } class ah extends foo[(Int,Int) => Int] { def test = (i: Int,j: Int) => i+j } 所以问题是,为什么斯卡拉知道如此聪明的类型不能只是从test的类型推断出(Int,Int) => Int类型,而是问我而不是指定它?或者它仍然有可能?或者,