У меня есть две строки:Обрезать строку, когда он слишком долго
short_string = "hello world"
long_string = "this is a very long long long .... string" # suppose more than 10000 chars
Я хочу, чтобы изменить поведение по умолчанию print
на:
puts short_string
# => "hello world"
puts long_string
# => "this is a very long long....."
The long_string
лишь частично напечатанных. Я попытался изменить String#to_s
, но это не сработало. Кто-нибудь знает, как это сделать?
обновленного
На самом деле я хочу это работает гладко, это означает, что следующие случаи также работает отлично:
> puts very_long_str
> puts [very_long_str]
> puts {:a => very_long_str}
Так я думаю, что поведение принадлежит String.
Спасибо всем.
Исправлено несколько проблем с кодом. – kristinalim
Он возвращает 'nil', что делает его немного сложнее проверить. Вероятно, он должен просто вернуть усеченную строку. – vgoff
Обновленный ответ, чтобы вернуть усеченную строку, как предложил @vgoff. – kristinalim