1.4. Odwracanie kolejności słów lub znaków w łańcuchu

Problem

Znaki lub słowa występują w łańcuchu w niewłaściwej kolejności.

Rozwiązanie

Do stworzenia nowego łańcucha, zawierającego znaki łańcucha oryginalnego w odwrotnej kolejności, można posłużyć się metodą reverse:

s = ".kapo an sipan tsej oT"
s.reverse                             # => "To jest napis na opak."
s                                     # => ".kapo an sipan tsej oT"

s.reverse!                            # => "To jest napis na opak."
s                                     # => "To jest napis na opak."

W celu odwrócenia kolejności słów w łańcuchu, należy podzielić go najpierw na podłańcuchy oddzielone „białymi” znakami[5] (czyli poszczególne słowa), po czym włączyć listę tych słów z powrotem do łańcucha, w odwrotnej kolejności.

s = "kolei. po nie Wyrazy " s.split(/(\s+)/).reverse!.join('') # => ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.