问题标签 [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.

0 投票
2 回答
3070 浏览

scala - 视图和流有什么区别?

view在 Scala 2.8 集合框架中,和有什么区别toStream

0 投票
2 回答
908 浏览

scala - Scala Actors:JRE 1.5 和 1.6 上的不同行为

我的模拟是使用演员和 Scala 2.8-Snapshot。在 Java JRE 1.5 中它运行良好——所有 40 个齿轮(参与者)同时工作。使用 Java JRE 1.6 只有 3 个齿轮同时工作。我在有和没有 GUI 的情况下对其进行了测试:两者都给出了相同的结果。

我的 GUI 模拟可在 github 上找到:http: //github.com/pmeiclx/scala_gear_simulation

也许你还记得我的第一个问题是演员。在解决了这些问题后,我为模拟做了一个 GUI,我得到了这个新的“奇怪”行为。

这是没有 GUI 的代码:

0 投票
1 回答
353 浏览

scala - Scala 2.8Beta1 演员

呼唤!!即使在调用者收到回复后(即:未来已准备好),从一个演员到另一名工作演员的方法似乎也保持通道打开。

例如,使用 !! 将 11 条不同的消息从一个 actor 发送到另一个 worker actor 将导致 11 条类似于下面的消息显示在原始调用者的邮箱中,每个具有不同的 Channel@xxxx 值。

!(scala.actors.Channel@11b456f,Exit(com.test.app.actor.QueryActor@4f7bc2,'normal))

这些消息是否在等待工作人员的回复,因为原始调用者是在它自己调用 exit() 时发送退出消息,或者它们是在另一端生成的,并且由于某种原因有上面显示的打印表单?至此,worker actor 已经退出,所以 !! 的原始调用者 绝对不会收到任何回复。

这种行为是不可取的,因为原始调用参与者的邮箱充满了这些退出消息(每次使用 !! 时创建的每个通道都有一个)。

这怎么能阻止?原始呼叫者是否自动“链接”到每个创建的回复频道!称呼?

0 投票
1 回答
44 浏览

scala - Scala 2.8 - 命名参数的潜在问题

考虑以下代码:

现在说稍后我需要为该age字段定义一个访问器方法。

但是,尝试执行以下操作是不合法的,因为字段名称和方法名称在 Scala 中共享相同的命名空间:

所以我需要重命名构造函数参数age或我的字段age。无论哪种方式,我都会破坏客户端代码,不是吗?

有没有可能解决这个问题?或者这是命名参数的固有问题?

请对此有所了解。任何帮助将不胜感激。

谢谢。

0 投票
2 回答
3382 浏览

scala - 将 Scala 可变参数转换为 Java 对象...可变参数

我有一个记录东西的Java类,它有这样的方法:

在 Scala 中,我为这样的调用创建了一个包装器,如下所示:

当我打电话时:

我得到:

现在,有人现在如何将参数转换为可以正确使用的 Object[] 吗?

我试着做:

但这不起作用:

当你这样做时会发生类似的事情:

0 投票
2 回答
2142 浏览

scala - NotNull 特征在 2.8 中是如何工作的,是否有人实际使用它?

我一直在尝试查看此特征如何保证某些内容不为空,但我无法弄清楚:

和:

显然有一些特殊的编译器处理正在进行,因为它编译:

而这不是:

编辑: 我在 Scala 编程中找不到任何关于此的内容

0 投票
3 回答
3346 浏览

scala - Scala中的等式关系

我刚刚偶然发现了 Tony Morris 的一篇关于 Java 的博客文章以及该语言的一个基本问题:为集合定义定制的相等关系。我认为这是一件大事,并想知道是否有一些 scala 解决方案。

经典问题体现在对交易的思考中。假设我进行了两次 +100 沃达丰股票 @150p 的交易。这两个交易是平等的,是吗?除了他们不是同一个行业。在一个正常的现实世界系统的情况下,具有持久性或序列化,我不能依靠身份来告诉我两个引用是否指向同一个交易

所以我想要的是能够创建一个集合,我可以将 Equality-relation 传递给:

我将如何以有效的方式实现我的集合(除非EqualityRelation还定义了一种hash机制)?

所以问题是:

  • 有没有提供这种能力的图书馆?
  • 有没有办法在 Scala 中巧妙地做到这一点?

似乎使用隐式,添加到现有的 scalaSet类型将是一件很容易的事情。

0 投票
1 回答
713 浏览

scala - Scala Swing 库的问题

您好,我在 2.8 Beta1-prerelease 版本中使用 Scala Swing 库时遇到问题。我有一种情况,我想在 GUI 中显示一个表,并在 SQL 请求返​​回结果时对其进行更新。这可以在 Scala 中以哪种方式完成,目前我正在使用 Java 库中的 DefaultTableModel。

另一件事是我希望表格之后可以排序,我看不到 Scala swing 库是否也支持这个?

0 投票
7 回答
2212 浏览

ruby - 来自 Rubyist 的关于 Scala 的问题

我最近在业余时间四处寻找学习一门新语言,Scala 似乎很有吸引力。

我对此有几个问题:

  1. 不了解 Java 会不会给学习带来挑战?以后会不会是很大的劣势?(即人们多久依赖 Java 特定的库?)

  2. 它与 Ruby 相比有多大区别?(除了静态类型)它会引入很多新术语,还是我会熟悉大多数语言的机制?

  3. 你会推荐什么资源?我有我的眼睛Programming ScalaBeginning Scala书籍

  4. 虽然是主观的,但 Scala 编程有趣吗?:P

谢谢

0 投票
1 回答
8650 浏览

scala - Function.tupled 和占位符语法

我在另一个答案中看到了 Function.tupled 示例的这种用法:Map(1 -> "one", 2 -> "two") map Function.tupled(_ -> _.length)

有用:

如果我不想使用占位符语法,似乎可以不用。

直接使用占位符语法不起作用:

Function.tupled 是如何工作的?中似乎发生了很多事情Function.tupled(_ -> _.length)。另外,我将如何使用它来不收到弃用警告?