Scala:提取值以绕过JVM方法长度

Scala:提取值以绕过JVM方法长度,scala,refactoring,Scala,Refactoring,我有一个长度超过64k JVM限制的方法。看起来没有什么简单的方法可以绕过这个问题,因此我可能不得不重构代码。我是Scala noob,我需要一些建议: def apply = { ... val container = Map(...<Some Really Long Input>...) val anotherContainer = Map(...<Some Really Long Input>...) ... } def apply={ ... val容器=映射(

我有一个长度超过64k JVM限制的方法。看起来没有什么简单的方法可以绕过这个问题,因此我可能不得不重构代码。我是Scala noob,我需要一些建议:

def apply = {
...
val container = Map(...<Some Really Long Input>...)
val anotherContainer = Map(...<Some Really Long Input>...)
...
}
def apply={
...
val容器=映射(……)
val anotherContainer=地图(……)
...
}

知道上述变量的内容取决于apply方法中的一些数据,如何提取这些变量的内容

您可以滥用闭包从方法中获取一些代码:

val container = (() => Map(...<Some Really Long Input>...))()
val容器=(()=>Map(…)()

我真的希望这是自动生成的代码。如果不是这样,有很多更好的方法来重构代码,使其更具可读性和可维护性。其中之一是将创建映射的代码放入自己的方法中,并将
apply
方法中的数据作为参数传递。

是的,这确实是自动生成的代码。它与Gatling有关,Gatling是一个负载基准测试程序,它将大量HTTP流量放入上述方法中。我现在就要尝试关闭的方式。