Я работаю с рубинскими коанами и ударил один, который меня действительно смущает.Использование результатов массива из метода ruby gsub и блока соответствия
"one two-three".gsub(/(t\w*)/) { $1[0, 1] }
=> "one t-t"
Однако, когда я изменяю возвращаемый массив для переменной $ 1, я получаю запутанный результат.
"one two-three".gsub(/(t\w*)/) { $1[1, 2] }
=> "one wo-hr"
Учитывая первый результат, я ожидаю, что второй бит кода вернет «один w-h». Почему во втором случае возвращаются два символа?