エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

配列の回転

時計回りに90度 行を反転して転置(あるいは、転置して列を反転)
時計回りに180度 行を反転して列を反転(あるいは、列を反転して行を反転)
時計回りに270度 転置して行を反転(あるいは、列を反転して転置)
[1] pry(main)> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
=> [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[2] pry(main)> a.reverse.transpose
=> [[7, 4, 1], [8, 5, 2], [9, 6, 3]]
[3] pry(main)> a.reverse.map(&:reverse)
=> [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
[4] pry(main)> a.transpose.reverse
=> [[3, 6, 9], [2, 5, 8], [1, 4, 7]]