问题标签 [scala]
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 有没有办法从任何 Map 转换为 java.util.Map?
我使用了很多 scala 映射,有时我想将它们作为映射传递给需要 java.util.Map 的遗留 java api(而且我不在乎它是否会丢弃任何更改)。
compiler-construction - Is Scalas/Haskells parser combinators sufficient?
I'm wondering if Scalas/Haskells parser combinators are sufficient for parsing a programming language. More specifically the language MiniJava. I'm currently reading compiller construction and jflex and java cup is quite painful to work with so I'm wondering if I could/should use parser combinators instead. The MiniJava syntax is very small. MiniJavas BNF: http://www.cambridge.org/us/features/052182060X/grammar.html
java - 在 Scala 中迭代 Java 集合
我正在编写一些使用Apache POI API 的 Scala 代码。我想遍历java.util.Iterator
从 Sheet 类中获得的行中包含的行。我想在for each
样式循环中使用迭代器,所以我一直在尝试将它转换为原生 Scala 集合,但不会成功。
我查看了 Scala 包装器类/特征,但看不到如何正确使用它们。如何在不使用冗长while(hasNext()) getNext()
的循环样式的情况下迭代 Scala 中的 Java 集合?
这是我根据正确答案编写的代码:
java - 用Scala隐式包装的Java接口实现的工厂方法?
我正在使用 Scala 隐式为 Java 接口定义一个丰富的包装器:
在伴生对象中,我定义了隐式转换和apply
工厂方法:
有了这个,我可以实例化接口的 Java 实现并像使用它一样RichThing
(由于隐式转换):
我还可以RichThing
使用工厂方法创建一个(由于apply
方法):
我想做的是以相同的方式实例化接口的任意 Java 实现。这不起作用,因为 Scala 然后寻找实现的伴随对象但找不到:
我可以为 Java 实现创建一个 Scala 伴随对象:
但关键是要使该接口适用于任何(特别是未知的)实现。
有没有办法实现这一点?例如,基于对象中的隐式转换为 Java 实现动态创建 Scala 伴生RichThing
对象?
或者从 Java 端创建 Scala 伴生对象,也许在抽象类中?
parsing - EBNF 到 Scala 解析器组合器
我有以下要解析的 EBNF:
这就是我得到的:
但我想知道是否有更好的方法,最好不必求助于强制转换(asInstanceOf)。
generics - 在 Scala 中创建参数图类型
我想创建一个通用类型层次结构来表示图形。特别是,我想要类 Graph 和 Node,并且我希望每个 Graph 类型都有一个相应的 Node 类型,如果我创建一个用于操作 Graph 的通用函数,我希望这个函数使用实际的 Node类型。我试过的一个例子
但这不起作用,因为当我这样做时
dfs 函数不接受 as 类型的函数ConcreteGraph#Node=>Unit
,nodeAction
而只接受AnyRef=>Unit
or GNode[ConcreteGraph]=>Unit
。
更清楚地说,如果我用 C++ 做,我会做类似的事情
scala - Scala远程演员
是否有任何指南或教程可以解释远程使用 scala 演员的可能性?到目前为止,我发现的只是一个例子(没有评论),但这还不够。
java - 是否有人在愤怒中使用 Scala(以及对 Java 程序员的什么建议)?
自从开始使用 Smalltalk 以来,我已经成为一名 Java 程序员 10 多年了。我认为下一个主流语言很可能是在无处不在的 Java 虚拟机上运行的语言。我想利用 Scala(以及其他语言)具有的一些特性——case
类层次结构、闭包、类型推断的语句,因为它可以让我编写更简洁明了(我希望)的代码。更接近 Smalltalk!
Java 中所有的第二天性:
- 建筑与
ant
- 将应用程序/库部署到逻辑
jar
s - 强大的 IDE 工具支持
- 编写 GUI(或者通过某种远程处理让 Swing GUI 与它对话?)
- 3rd 方库/框架
- 配置(属性
XML
等Spring
) - 数据库驱动程序等
我担心玩一些宠物项目和实际在工作场所愤怒地使用它之间的区别有点太大了。
- 有没有人实现这个飞跃?
- 它值得吗?
- 你学到了什么?
(显然人们正在使用Scala——但是否有人正在构建实际的企业应用程序,为了更好的说法?)