Ruby - Array.length返回字符数而不是元素数

Kyl*_*ger 0 ruby

我正在使用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 
Run Code Online (Sandbox Code Playgroud)

第二个例子

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 
Run Code Online (Sandbox Code Playgroud)

如何返回元素计数而不是字符数?

Hen*_*son 5

好吧,你没有分配你的分裂阵列,这就是你看到差异的原因.你实际在做的是定义一个字符串search,然后尝试操纵同一个字符串.

试试这个

testArray = search.split
testArray.size
>> 1
Run Code Online (Sandbox Code Playgroud)