diff options
author | Rocky Madden <git@rockymadden.com> | 2012-11-26 15:36:27 -0700 |
---|---|---|
committer | Rocky Madden <git@rockymadden.com> | 2012-11-26 15:36:27 -0700 |
commit | d88418dc98fafec114f7b608a8fe6323d5096479 (patch) | |
tree | 15004810e2ec502614f40400470d2138edba579d /core/source | |
parent | 957c712720e8adc910368c93232acd0631ae26da (diff) | |
download | stringmetric-d88418dc98fafec114f7b608a8fe6323d5096479.tar.gz stringmetric-d88418dc98fafec114f7b608a8fe6323d5096479.tar.bz2 stringmetric-d88418dc98fafec114f7b608a8fe6323d5096479.zip |
More idiomatic code.
Diffstat (limited to 'core/source')
-rwxr-xr-x | core/source/core/scala/org/hashtree/stringmetric/similarity/JaroWinklerMetric.scala | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/core/source/core/scala/org/hashtree/stringmetric/similarity/JaroWinklerMetric.scala b/core/source/core/scala/org/hashtree/stringmetric/similarity/JaroWinklerMetric.scala index 77b20c0..8a08f1e 100755 --- a/core/source/core/scala/org/hashtree/stringmetric/similarity/JaroWinklerMetric.scala +++ b/core/source/core/scala/org/hashtree/stringmetric/similarity/JaroWinklerMetric.scala @@ -16,16 +16,17 @@ object JaroWinklerMetric extends StringMetric with FilterableStringMetric { val fca1 = stringFilter.filter(charArray1) val fca2 = stringFilter.filter(charArray2) - JaroMetric.compare(fca1, fca2) match { - case Some(0d) => Some(0d) - case Some(1d) => Some(1d) - case Some(jaro) => { - val prefix = fca1.zip(fca2).takeWhile(t => t._1 == t._2) - - Some(jaro + ((if (prefix.length <= 4) prefix.length else 4) * 0.1d * (1 - jaro))) + JaroMetric.compare(fca1, fca2).map( + _ match { + case 0d => 0d + case 1d => 1d + case jaro => { + val prefix = fca1.zip(fca2).takeWhile(t => t._1 == t._2) + + jaro + ((if (prefix.length <= 4) prefix.length else 4) * 0.1d * (1 - jaro)) + } } - case None => None - } + ) } override def compare(string1: String, string2: String) |