From 55c992bb3a94d9880ffb660225167bf80659a3d1 Mon Sep 17 00:00:00 2001 From: Megan Wachs Date: Mon, 1 Aug 2016 16:56:33 -0700 Subject: [PATCH] Use FoldRight() instead of for loop --- src/main/scala/Testing.scala | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/scala/Testing.scala b/src/main/scala/Testing.scala index 2aab5542..613edfe2 100644 --- a/src/main/scala/Testing.scala +++ b/src/main/scala/Testing.scala @@ -178,12 +178,9 @@ object TestGenerator extends App { val topModuleName = args(1) val configClassName = args(2) - val aggregateConfigs = configClassName.split('_').reverse + val aggregateConfigs = configClassName.split('_') - var finalConfig = new Config() - var ii = 0; - for (ii <- 0 to (aggregateConfigs.length - 1)) { - val currentConfigName = aggregateConfigs(ii); + val finalConfig = aggregateConfigs.foldRight(new Config()) { case (currentConfigName, finalConfig) => val currentConfig = try { Class.forName(s"$projectName.$currentConfigName").newInstance.asInstanceOf[Config] } catch { @@ -192,7 +189,7 @@ object TestGenerator extends App { "\" of configClassName \"" + configClassName + "\", did you misspell it?", e) } - finalConfig = currentConfig ++ finalConfig + currentConfig ++ finalConfig } val world = (new Config(finalConfig)).toInstance