Module: Amatch::StringMethods
- Included in:
- String
- Defined in:
- ext/amatch_ext.c
Instance Method Summary collapse
-
#hamming_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::Hamming#pattern to match against
strings
. -
#jaro_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::Jaro#pattern to match against
strings
. -
#jarowinkler_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::JaroWinkler#pattern to match against
strings
. -
#levenshtein_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::Levenshtein#pattern to match against
strings
. -
#longest_subsequence_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::LongestSubsequence#pattern to match against
strings
. -
#longest_substring_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::LongestSubstring#pattern to match against
strings
. -
#pair_distance_similar(strings, regexp = nil) ⇒ Object
If called on a String, this string is used as a Amatch::PairDistance#pattern to match against
strings
using /s+/ as the tokenizing regular expression.
Instance Method Details
#hamming_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::Hamming#pattern to match against strings
. It returns a Hamming distance metric number between 0.0 for very unsimilar strings and 1.0 for an exact match. strings
has to be either a String or an Array of Strings. The returned results
is either a Float or an Array of Floats respectively.
1220 1221 1222 1223 1224 |
# File 'ext/amatch_ext.c', line 1220
static VALUE rb_str_hamming_similar(VALUE self, VALUE strings)
{
VALUE amatch = rb_Hamming_new(rb_cHamming, self);
return rb_Hamming_similar(amatch, strings);
}
|
#jaro_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::Jaro#pattern to match against strings
. It returns a Jaro metric number between 0.0 for very unsimilar strings and 1.0 for an exact match. strings
has to be either a String or an Array of Strings. The returned results
is either a Float or an Array of Floats respectively.
1448 1449 1450 1451 1452 |
# File 'ext/amatch_ext.c', line 1448
static VALUE rb_str_jaro_similar(VALUE self, VALUE strings)
{
VALUE amatch = rb_Jaro_new(rb_cJaro, self);
return rb_Jaro_match(amatch, strings);
}
|
#jarowinkler_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::JaroWinkler#pattern to match against strings
. It returns a Jaro-Winkler metric number between 0.0 for very unsimilar strings and 1.0 for an exact match. strings
has to be either a String or an Array of Strings. The returned results
are either a Float or an Array of Floats respectively.
1547 1548 1549 1550 1551 |
# File 'ext/amatch_ext.c', line 1547
static VALUE rb_str_jarowinkler_similar(VALUE self, VALUE strings)
{
VALUE amatch = rb_JaroWinkler_new(rb_cJaro, self);
return rb_JaroWinkler_match(amatch, strings);
}
|
#levenshtein_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::Levenshtein#pattern to match against strings
. It returns a Levenshtein distance metric number between 0.0 for very unsimilar strings and 1.0 for an exact match. strings
has to be either a String or an Array of Strings. The returned results
is either a Float or an Array of Floats respectively.
846 847 848 849 850 |
# File 'ext/amatch_ext.c', line 846
static VALUE rb_str_levenshtein_similar(VALUE self, VALUE strings)
{
VALUE amatch = rb_Levenshtein_new(rb_cLevenshtein, self);
return rb_Levenshtein_similar(amatch, strings);
}
|
#longest_subsequence_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::LongestSubsequence#pattern to match against strings
. It returns a longest subsequence distance metric number between 0.0 for very unsimilar strings and 1.0 for an exact match. strings
has to be either a String or an Array of Strings. The returned results
is either a Float or an Array of Floats respectively.
1296 1297 1298 1299 1300 |
# File 'ext/amatch_ext.c', line 1296
static VALUE rb_str_longest_subsequence_similar(VALUE self, VALUE strings)
{
VALUE amatch = rb_LongestSubsequence_new(rb_cLongestSubsequence, self);
return rb_LongestSubsequence_similar(amatch, strings);
}
|
#longest_substring_similar(strings) ⇒ Object
If called on a String, this string is used as a Amatch::LongestSubstring#pattern to match against strings
. It returns a longest substring distance metric number between 0.0 for very unsimilar strings and 1.0 for an exact match. strings
has to be either a String or an Array of Strings. The returned results
is either a Float or an Array of Floats respectively.
1374 1375 1376 1377 1378 |
# File 'ext/amatch_ext.c', line 1374
static VALUE rb_str_longest_substring_similar(VALUE self, VALUE strings)
{
VALUE amatch = rb_LongestSubstring_new(rb_cLongestSubstring, self);
return rb_LongestSubstring_similar(amatch, strings);
}
|
#pair_distance_similar(strings, regexp = nil) ⇒ Object
If called on a String, this string is used as a Amatch::PairDistance#pattern to match against strings
using /s+/ as the tokenizing regular expression. It returns a pair distance metric number between 0.0 for very unsimilar strings and 1.0 for an exact match. strings
has to be either a String or an Array of Strings.
The returned results
is either a Float or an Array of Floats respectively.
1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 |
# File 'ext/amatch_ext.c', line 1136
static VALUE rb_str_pair_distance_similar(int argc, VALUE *argv, VALUE self)
{
VALUE amatch, string, regexp = Qnil;
rb_scan_args(argc, argv, "11", &string, ®exp);
amatch = rb_PairDistance_new(rb_cPairDistance, self);
if (NIL_P(regexp)) {
return rb_PairDistance_match(1, &string, amatch);
} else {
VALUE *args = alloca(2);
args[0] = string;
args[1] = regexp;
return rb_PairDistance_match(2, args, amatch);
}
}
|