diff options
Diffstat (limited to 'cli/source/core/scala/com/rockymadden/stringmetric/cli/similarity/jaccardMetric.scala')
-rwxr-xr-x | cli/source/core/scala/com/rockymadden/stringmetric/cli/similarity/jaccardMetric.scala | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/cli/source/core/scala/com/rockymadden/stringmetric/cli/similarity/jaccardMetric.scala b/cli/source/core/scala/com/rockymadden/stringmetric/cli/similarity/jaccardMetric.scala index b7aa9c7..be68f89 100755 --- a/cli/source/core/scala/com/rockymadden/stringmetric/cli/similarity/jaccardMetric.scala +++ b/cli/source/core/scala/com/rockymadden/stringmetric/cli/similarity/jaccardMetric.scala @@ -9,21 +9,19 @@ import com.rockymadden.stringmetric.similarity.JaccardMetric */ object jaccardMetric extends Command { override def main(args: Array[String]): Unit = { - val options = OptionMap(args) + val opts: OptionMap = args try - if (options.contains('h) || options.contains('help)) { + if (opts.contains('h) || opts.contains('help)) { help() - exit(options) - } else if (options.contains('dashless) && (options('dashless): OptionMapArray).length == 2 - && options.contains('n) && (options('n): OptionMapInt) >= 1) { + exit(opts) + } else if (opts.contains('dashless) && (opts('dashless): Array[String]).length == 2 + && opts.contains('n) && (opts('n): Int) >= 1) { - execute(options) - exit(options) + execute(opts) + exit(opts) } else throw new IllegalArgumentException("Expected valid syntax. See --help.") - catch { - case e: Throwable => error(e, options) - } + catch { case e: Throwable => error(e, opts) } } override def help(): Unit = { @@ -36,15 +34,15 @@ object jaccardMetric extends Command { tab + "jaccardMetric [Options] string1 string2..." + ls + ls + "Options:" + ls + tab + "-h, --help" + ls + - tab + tab + "Outputs description, syntax, and options." + + tab + tab + "Outputs description, syntax, and opts." + tab + "--n" + ls + tab + tab + "The n-gram size." ) } - override def execute(options: OptionMap): Unit = { - val strings: OptionMapArray = options('dashless) - val n: OptionMapInt = options('n) + override def execute(opts: OptionMap): Unit = { + val strings: Array[String] = opts('dashless) + val n: Int = opts('n) println(JaccardMetric.compare(strings(0), strings(1))(n).getOrElse("not comparable")) } |