Mam dwa ciągi:Obetnij ciąg, gdy jest zbyt długo
short_string = "hello world"
long_string = "this is a very long long long .... string" # suppose more than 10000 chars
Chcę zmienić domyślne zachowanie print
do:
puts short_string
# => "hello world"
puts long_string
# => "this is a very long long....."
The long_string
jest tylko częściowo drukowane. Próbowałem zmienić String#to_s
, ale to nie zadziałało. Czy ktoś wie, jak to zrobić w ten sposób?
aktualizowane
Właściwie chcę to działa płynnie, co oznacza następujące przypadki również działa dobrze:
> puts very_long_str
> puts [very_long_str]
> puts {:a => very_long_str}
więc myślę, że zachowanie należy do String.
Dzięki wszystko.
Naprawiono kilka problemów z kodem. – kristinalim
Zwraca 'nil', co sprawia, że testowanie jest trudniejsze. Prawdopodobnie powinien po prostu zwrócić ścięty ciąg znaków. – vgoff
Zaktualizowana odpowiedź, aby zwrócić skrócone ciągi, jak zasugerował @vgoff. – kristinalim