refactoring transpose method #15
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
タケシくん、コード修正してみたから見てみてね
修正ポイント
transport->transposesplit("\n")はlinesと書けます。ドキュメント読んでね( https://docs.ruby-lang.org/ja/latest/class/String.html#I_LINES )。splitのデフォルト値が空白文字なので、split(" ")はsplitと同義です。ドキュメント読んでね( https://docs.ruby-lang.org/ja/latest/class/String.html#I_SPLIT )。また、引数がない場合、map{ |s| s.split }は、map(&:split)と書けるので活用して下さい。ブロックを渡すよりも高速です。transposeというメソッドがあるので活用しましょう( https://docs.ruby-lang.org/ja/latest/class/Array.html#I_TRANSPOSE )。sで受け取っていましたが、可能な限り意味のある名前を用いましょう。今回はarrayを用いました。0.upto(rows_count -1)は、rows_count.timesと書いたほうが簡潔で見やすくなります。transported_array <<よりも、Array.new(rows_count)であらかじめ確保しておいて、transpoted_array[i] =の方が効率的です。処理速度はできるだけ気にするようにしてみてね。
https://qiita.com/sue738/items/6c312672cecd9e0400a2