summaryrefslogtreecommitdiff
path: root/core/source
diff options
context:
space:
mode:
authorRocky Madden <git@rockymadden.com>2012-11-26 15:36:27 -0700
committerRocky Madden <git@rockymadden.com>2012-11-26 15:36:27 -0700
commitd88418dc98fafec114f7b608a8fe6323d5096479 (patch)
tree15004810e2ec502614f40400470d2138edba579d /core/source
parent957c712720e8adc910368c93232acd0631ae26da (diff)
downloadstringmetric-d88418dc98fafec114f7b608a8fe6323d5096479.tar.gz
stringmetric-d88418dc98fafec114f7b608a8fe6323d5096479.tar.bz2
stringmetric-d88418dc98fafec114f7b608a8fe6323d5096479.zip
More idiomatic code.
Diffstat (limited to 'core/source')
-rwxr-xr-xcore/source/core/scala/org/hashtree/stringmetric/similarity/JaroWinklerMetric.scala19
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)