Czy można ten kod jakoś skrócić?

0

Z nudów zacząłem rozwiązywać proste zadania na SPOJ'u.
Wykonałem zadanie: http://pl.spoj.pl/problems/PP0502B/
Wykodziłem to (Ruby):

(1..gets.to_i).each{a=gets.chomp.split(/ /);a.shift;puts a.reverse.join(" ")}

Tylko się zastanawiam, czy można to jakoś krócej napisać?

2

To może się wypowiem:

  1. Zamiast zakresów lepiej jest użyć #times
  2. #split domyślnie dzieli po białych znakach więc #chomp jest niepotrzebne
  3. Nie używaj #shift tylko zakresu 1..-1
  4. Zamiast #join użyj #*

Mój kod (51 znaków):

gets.to_i.times{puts gets.split[1..-1].reverse*' '}

Czyli trochę ponad 33% krótszy od twojego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1