我正在使用Ruby 2.0进行Rails项目,并且在控制台中获取数组的元素长度时遇到了一些问题。
第一个例子
2.0.0-p353 :001 > search = "test"
=> "test"
2.0.0-p353 :002 > search.split
=> ["test"]
2.0.0-p353 :003 > search.length
=> 4
第二个例子
2.0.0-p353 :001 > search = "testOne, TestTwo"
=> "testOne, TestTwo"
2.0.0-p353 :002 > search.split(/[\s,]+/)
=> ["testOne", "TestTwo"]
2.0.0-p353 :003 > search.length
=> 16
如何返回元素数而不是字符数?
答案 0 :(得分:5)
好吧,你没有分配你的分裂数组,这就是你看到差异的原因。
你实际做的是定义一个字符串search
,然后尝试操纵同一个字符串。
试试这个
testArray = search.split
testArray.size
>> 1
答案 1 :(得分:2)
在第一个示例中,您将获得"test"
字符串的长度,而不是["test"]
数组的长度。您应该首先将其分配给变量。
即:
search = "test" # => "test"
array = search.split # => ["test"]
array.length # => 1