Я использую 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
Kyle 23 Дек 2013 в 23:15

2 ответа

Лучший ответ

Ну, вы не назначаете свой разделенный массив, поэтому вы видите несоответствие. На самом деле вы определяете строку search и затем пытаетесь манипулировать этой же строкой.

Попробуй это

testArray = search.split
testArray.size
>> 1
5
Henrik Andersson 23 Дек 2013 в 19:17

В первом примере вы получаете длину строки "test", а не массива ["test"]. Сначала вы должны присвоить его переменной.

Я.:

search = "test"       # => "test"
array = search.split  # => ["test"]
array.length          # => 1 
2
Simone 18 Янв 2014 в 14:27