Используйте либо String#strip
, чтобы удалить все пробелы, либо String#chomp
(обратите внимание на 'm'), чтобы удалить только один завершающий символ новой строки.
String#chop
удаляет последний символ (или \r\n
пара), который может быть опасным, если команда не всегда заканчивается новой строкой.
Я предполагаю, что ваш код не работал, потому что в результате в конце выходных данных было несколько символов новой строки \ пробела. (И если это так, strip
будет работать для вас.) Однако вы можете проверить это, удалив вызов к chop
, а затем используя p u
или puts u.inspect
, чтобы увидеть, какие символы на самом деле находятся в выходных данных.
И для вашего сведения, в Ruby идиоматично опускать круглые скобки при вызове методов, которые не принимают аргументов, например u = foo.chop
.