gogotanaka/Hilbert

View on GitHub
lib/hilbert/api/matrix_api.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Hilbert
  module Api
    module MatrixApi
      def execute(rows)
        row_count = rows.count
        column_count = rows.first.count
        case $meta_info.lang
        when :r
          "matrix(#{VectorApi.execute(rows.flatten)}, #{row_count}, #{column_count}, byrow = TRUE)"
        when :ruby
          arys_str = rows.map { |row| "[#{row.join(', ')}]" }.join(', ')
          "Matrix[#{arys_str}]"
        else
          fail "Matrix is not implemented for #{$meta_info.lang_str}"
        end
      end
      module_function :execute
    end
  end
end