首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scala jrebel超类更改

scala jrebel超类更改
EN

Stack Overflow用户
提问于 2010-12-29 07:48:35
回答 1查看 266关注 0票数 1

我在Scala中使用JRebel,我经常遇到需要重启服务器的情况,因为如果超类发生了变化,JRebel将无法加载类。这主要是在我更改匿名函数时完成的,因为我可以从JRebel错误描述中推断出来:

Class 'mypackage.NewBook$$anonfun$2' superclass was changed from 'scala.runtime.AbstractFunction1' to 'scala.runtime.AbstractFunction2' and could not be reloaded

有没有办法,我如何设计我的代码来避免这种情况?scala编译器是否接受这些函数,按照它们在源代码中出现的顺序从1开始编号?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-29 08:24:18

正在变化的数字指的是函数参数的数量。AbstractFunction1是一个单参数函数,而AbstractFunction2是一个双参数函数。解决这个问题的一种方法是对函数进行curry或tuple,使它们始终是单参数函数。

是的,匿名函数会按照您的建议自动命名。如果在现有的匿名单参数函数之前插入一个新的匿名双参数函数,则看起来原始函数的类型发生了更改。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4550442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档