Comments (1)
Welp, it is part of my own standard library extensions. I will commit it tomorrow. Until then here it is:
String>>#levenshteinDistanceTo: aString
| sourceString targetString costs |
sourceString := self asLowercase.
targetString := aString asLowercase.
costs := Matrix rows: sourceString size + 1 columns: targetString size + 1 element: 0.
costs atColumn: 1 put: (0 to: sourceString size).
costs atRow: 1 put: (0 to: targetString size).
targetString withIndexDo: [:targetCharacter :targetIndex |
sourceString withIndexDo: [:sourceCharacter :sourceIndex | | cost |
cost := targetCharacter = sourceCharacter ifTrue: [0] ifFalse: [1].
costs at: sourceIndex + 1 at: targetIndex + 1 put: ({
(costs at: sourceIndex + 1 at: targetIndex) + 1 . "deletion"
(costs at: sourceIndex at: targetIndex + 1) + 1 . "insertion"
(costs at: sourceIndex at: targetIndex) + cost . "potential substitution"
} min) ]].
^ costs at: costs rowCount at: costs columnCount
from home-desktop-system.
Related Issues (16)
- Extend the object editor HOT 2
- Refactor object editor infrastructure
- Add mouse over for labels in object editor to see original selector name
- Think of a way to show an "object badge" for the object currently being display in the editor
- Generic way for adding new object / adding an existing object for fields as well as collections
- Open OS viewer is sensitive to changed paths
- Hardcoded local path
- Typos
- Rack query folder template suggests an argument
- Make Rack UI more robust
- Gridding for the world morph HOT 1
- String drag and drop into the object editor breaks formatting
- Robuster handling of selectors which do not exist by mapping to inst vars HOT 1
- release image background looks questionable
- Object Editor drag and drop
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from home-desktop-system.