Tag: 字符串

为什么==比eql更快?

我在文档中读到了关于eql?的String类eql? 是一个严格的相等运算符,没有类型转换,并且==是一个等于运算符,它尝试将其参数的第二个转换为String,并且此方法的C源代码确认: 这个eql? 源代码: static VALUE rb_str_eql(VALUE str1, VALUE str2) { if (str1 == str2) return Qtrue; if (TYPE(str2) != T_STRING) return Qfalse; return str_eql(str1, str2); } ==源代码: VALUE rb_str_equal(VALUE str1, VALUE str2) { if (str1 == str2) return Qtrue; if (TYPE(str2) != T_STRING) { if (!rb_respond_to(str2, rb_intern(“to_str”))) { return Qfalse; } return rb_equal(str2, str1); […]

如何在Ruby中进行高级字符串比较?

我试图比较2段字符串,其输出必须是相似性的百分比。 我尝试过使用diff方法和一些Natural Language Processing tools 在ruby中有更好的方法吗?

在String和Classname之间转换

我有一个包含类名的字符串。 例如,它是包含“Article”的字符串。 该字符串来自params []。 我该怎么做才能使用这个字符串,好像它是一个类名? 例如,我想做: Article.all 等等。 任何的想法?

Ruby相当于PHP的“。=”(点等于)运算符

在PHP中,我们可以快速连接字符串: $a = “b”; $a .= “c”; 返回”bc” 。 我们如何在Ruby中做到这一点?

ruby中字符串中所选字符替换的所有可能组合

我想知道是否有一种简单的方法可以用简单的方式在ruby中完成所选字符替换的每个组合。 一个例子: string = “this is a test” subs = [‘a’=>’@’,’i’=>’!’,’s’=>’$’] subs.combination.each { |c| string.gsub c } 会屈服 “this is @ test” “th!s !sa test” “thi$ i$ a te$t” “th!s !s @ test” “thi$ i$ @ te$t” “th!$ !$ a te$t” “th!$ !$ @ te$t” 谢谢您的帮助!

单引号内的插值

如何在单引号内执行插值? 我试过这样的事情,但有两个问题。 string = ‘text contains “#{search.query}”‘ 它不起作用 我需要最后的字符串将动态内容包装在双引号中,如下所示: ‘text contains “candy”‘ 可能看起来很奇怪,但我正在使用的gem需要这个。

如何使用整数中的前导零

在Ruby中处理前导零的正确方法是什么? 0112.to_s => “74” 0112.to_i => 74 为什么将0112转换为74 ? 如何将0112转换为字符串”0112″ ? 我想定义一个方法,它以整数作为参数,并以数字的降序返回它。 但是当我有前导零时,这对我来说似乎不起作用: def descending_order(n) n.to_s.reverse.to_i end

为什么交替中不会有更长的令牌匹配?

我正在使用ruby 2.1,但同样的东西可以在rubular网站上复制。 如果这是我的字符串: 儘管中國婦幼衛生監測辦公室制定的 我用这个表达式进行正则表达式匹配: (中國婦幼衛生監測辦公室制定|管中) 我期待得到更长的令牌作为匹配。 中國婦幼衛生監測辦公室制定 相反,我得到了第二次替换作为匹配。 据我所知,它不像中文字符那样工作。 如果这是我的字符串: foobar 我使用这个正则表达式: (foobar|foo) 返回的匹配结果是foobar 。 如果顺序是另一种方式,那么匹配的字符串就是foo 。 这对我来说很有意义。

为什么当字符串包含数字时,Ruby的String#to_i有时会返回0?

我只是尝试使用Ruby,我遇到了String#to_i 。 假设我有这个代码: var1 = ‘6 sldasdhkjas’ var2 = ‘aljdfldjlfjldsfjl 6’ 当puts var2.to_i给出0时,为什么puts var1.to_i输出6 ?

如何检查Ruby数组是否包含多个值之一?

我有两个Ruby数组,我需要看看它们是否有任何共同的值。 我可以循环遍历一个数组中的每个值,并在另一个数组中包含?(),但我确信有更好的方法。 它是什么? (这些数组都包含字符串。) 谢谢。