From 97ddd6a5ac07b3bce461fe0fca37c4cedeaca639 Mon Sep 17 00:00:00 2001 From: t-kojima Date: Thu, 30 Nov 2017 12:57:14 +0900 Subject: [PATCH] refactoring rename file (transport.rb -> transpose.rb) use Array#transpose --- lib/transport.rb | 11 ----------- lib/transpose.rb | 5 +++++ test/{transport_test.rb => transpose_test.rb} | 10 +++++----- 3 files changed, 10 insertions(+), 16 deletions(-) delete mode 100644 lib/transport.rb create mode 100644 lib/transpose.rb rename test/{transport_test.rb => transpose_test.rb} (53%) diff --git a/lib/transport.rb b/lib/transport.rb deleted file mode 100644 index d930638..0000000 --- a/lib/transport.rb +++ /dev/null @@ -1,11 +0,0 @@ -def transport(source) - array = source.split("\n").map {|s| s.split(" ")} - rows_count = array.first.count - - transported_array = [] - 0.upto(rows_count - 1) do |i| - transported_array << array.map {|a| a[i]} - end - - transported_array.map {|s| s.join(" ")}.join("\n") -end \ No newline at end of file diff --git a/lib/transpose.rb b/lib/transpose.rb new file mode 100644 index 0000000..975c9b8 --- /dev/null +++ b/lib/transpose.rb @@ -0,0 +1,5 @@ +def transpose(source) + array = source.split("\n").map {|s| s.split(' ')} + transposed_array = array.transpose + transposed_array.map {|s| s.join(' ')}.join("\n") +end diff --git a/test/transport_test.rb b/test/transpose_test.rb similarity index 53% rename from test/transport_test.rb rename to test/transpose_test.rb index 64126c8..f1a3e7a 100644 --- a/test/transport_test.rb +++ b/test/transpose_test.rb @@ -1,14 +1,14 @@ require 'minitest/autorun' -require './lib/transport' +require './lib/transpose' -class TransportTest < MiniTest::Test - def test_transport +class TransposeTest < MiniTest::Test + def test_transpose input = "1 2 3\n4 5 6\n7 8 9" output = "1 4 7\n2 5 8\n3 6 9" - assert_equal output, transport(input) + assert_equal output, transpose(input) input = "1 2 3\n4 5 6\n7 8 9\n10 11 12" output = "1 4 7 10\n2 5 8 11\n3 6 9 12" - assert_equal output, transport(input) + assert_equal output, transpose(input) end end \ No newline at end of file