问题标签 [scala-2.8]
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 延续实现收益(收益回报)
如何yield return
使用 Scala 延续来实现 C#?我希望能够以Iterator
相同的风格编写 Scala 。在这篇 Scala 新闻帖子的评论中有一个刺,但它不起作用(尝试使用 Scala 2.8.0 beta)。相关问题中的答案表明这是可能的,但尽管我已经玩了一段时间的定界延续,但我似乎无法完全理解如何做到这一点。
scala - 过滤器的Scala集合类型
假设您有一个 List(1,"1"),它的类型是 List[Any],这当然是正确的和预期的。现在,如果我像这样映射列表
结果类型是 List[Int] 也是预期的。我的问题是是否存在与过滤器映射的等效项,因为以下示例将生成 List[Any]。这可能吗?我认为这可以在编译时解决,可能不是运行时?
reflection - 对 Scala 案例类的反思
我正在尝试编写一个可以混合到案例类中的特征(在 Scala 2.8 中),允许在运行时检查其字段,以用于特定的调试目的。我想按照它们在源文件中声明的顺序取回它们,并且我想省略案例类中的任何其他字段。例如:
上面的实现显然是有缺陷的,因为它通过这些字段上的值的相等性来猜测字段在 Product 中的位置与其名称之间的关系,因此以下内容将不起作用:
有什么办法可以实现吗?
scala - 在 Scala 2.8.x 中管理灵活的、有类型的、不可变的数据结构
现在 Scala 2.8.0 beta 已经解决了这个问题,这是一个后续行动:
在 Scala 中管理灵活、类型化、不可变数据结构的正确方法是什么?
新技术是复制一个案例类,例如
这很好用,除了 Scala 似乎将我限制为案例类中的 22 个(?)属性。这可能看起来很多,在我的情况下还不够。
使用 23,我得到:“错误:Function23 类型不是包 scala 的成员”。我可以定义我自己的 Function23 等,但我不知道它的含义。
所以现在我回到第一方。我需要使用我试图避免的公共变量,或者创建一个 26+ 参数构造函数和一个成对的复制方法。伊克。
22 在这里似乎是一个相当随意的限制。有没有解决的办法?
这是用于数据导入,看起来像这样:
您可以看到我注释掉了未使用的提取以减少字段数量。
也许有更好的方法来做到这一点。我发现这种提取技术有点死板,但这可能是最好的。
scala - 将 Scala Set 转换为 Java (java.util.Set)?
我在 Scala 中有一个 Set(我可以在创建 Set 时选择任何实现。我正在使用的 Java 库需要一个 java.util.Set[String]。
以下是在 Scala 中执行此操作的正确方法(使用 scala.collection.jcl.HashSet#underlying):
它似乎正在工作,但由于我对 Scala 很陌生,我想知道这是否是首选方式(我尝试的任何其他方式都会收到类型不匹配错误):
scala - scala方法来定义接受不同数字类型列表的函数
我有以下问题:我有一个函数,它以 List[Double] 作为参数,对列表的元素执行一些算术运算,然后返回结果。我希望该函数也接受 List[Int]。这是一个例子:
当然,第二个 println 失败了,因为 f 需要 List[Double] 而不是 List[Int]。
还要注意 f 函数中 sum 的非 scala 样式公式,以证明需要在函数本身中使用 0(或其他常量)(如果我对 Int 值求和,我必须将 s 初始化为 0 而不是 0.0。
哪个是使函数在 Double 和 Int 上工作的最佳方法(更少的代码)?
(我看到了一些关于 2.8 Numeric trait 的东西,但我不太确定如何使用它......)
谢谢大家的帮助。
scala - 找不到元素类型 T 的类清单
试图从这个 SO question编译一些代码并遇到这个错误消息cannot find class manifest for element type T
。这是另一个显示行为的片段:
我可以看到new collection.mutable.GenericArray[T](2)
解决了这个问题。显然提供清单是另一种选择......但是“提供清单意味着”是什么?
scala - 作用于 Array[T] 或 List[T] 或 Iterable[T] 函数的函数
我试图为这个 SO question中提供的答案编写一个测试/计时函数。一些答案有效Array[T]
,一些有效List[T]
,一个有效Iterable[T]
,一个有效String
!
我想写的是一个函数,它shift*
从问题或答案、输入列表、谓词和预期输出中获取函数并运行该函数。有点像:
除了我可以弄清楚签名,因为Array
似乎具有可变Seq
属性,而List
似乎具有不可变Seq
属性。
处理它的最佳方法是什么?
编辑:使用 Thomas 的建议,这是我能得到的接近程度(适用于Array[Char]
,List[T]
但不适用于Array[T]
):
我会将 Daniel 的答案标记为已接受,因为它编译并为我提供了一种不同的方式来实现我想要的 - 除非 Array[T] 上的方法创建一个新数组(并带来 Manifest 问题)。
generics - Scala:对泛型类类型的约束
我对 Scala 很陌生。
我想实现一个通用矩阵类“class Matrix[T]”。对 T 的唯一约束应该是 T 应该实现一个“+”和一个“*”方法/函数。我该怎么做呢?
例如,我希望能够同时使用 Int、Double 和我自己定义的类型,例如 Complex
我在想一些事情:
一切类型检查,但我仍然无法实例化矩阵。我是否缺少隐式构造函数?我该怎么做呢?还是我对我的方法完全错误?
在此先感谢 Troels
scala - Scala:实现 Numeric[T] 的子类型
如何实现 Numeric[T] 的子类型?我一直在寻找这方面的指南,但没有找到。子类型的示例可以是 Rational 还是 Complex?
在此先感谢 Troels