attached String method to EditOperation type
diff --git a/levenshtein/levenshtein.go b/levenshtein/levenshtein.go
index e08e405..c88fa5d 100644
--- a/levenshtein/levenshtein.go
+++ b/levenshtein/levenshtein.go
@@ -13,6 +13,8 @@
match
)
+type EditScript []EditOperation
+
type MatchFunction func(rune, rune) bool
type Options struct {
@@ -33,7 +35,16 @@
},
}
-type EditScript []EditOperation
+func (operation EditOperation) String() string {
+ if operation == match {
+ return "match"
+ } else if operation == ins {
+ return "ins"
+ } else if operation == sub {
+ return "sub"
+ }
+ return "del"
+}
// DistanceForStrings returns the edit distance between source and target.
func DistanceForStrings(source []rune, target []rune, op Options) int {
@@ -124,18 +135,6 @@
}
}
-// TODO use this for providing a string representation of edit scripts?
-func opString(operation EditOperation) string {
- if operation == match {
- return "match"
- } else if operation == ins {
- return "ins"
- } else if operation == sub {
- return "sub"
- }
- return "del"
-}
-
func backtrace(i int, j int, matrix [][]int, op Options) EditScript {
if i > 0 && matrix[i - 1][j] + op.DelCost == matrix[i][j] {
return append(backtrace(i - 1, j, matrix, op), del)