Project

General

Profile

Actions

Bug #7369

closed

Matrix #row_size, #column_size methods

Added by Anonymous over 11 years ago. Updated over 11 years ago.

Status:
Closed
Target version:
-
ruby -v:
1.9.x
Backport:
[ruby-core:49409]

Description

I believe these methods should be renamed. "row_size" is confusing, because it can be intuitively understood as both "number of rows", and "size along a row" (or size of a matrix row). Same goes for "column size". I would like these methods renamed to unambigous, mnemonic names, such as

#number_of_rows alias #height
#number_of_columns alias #width

I do not insist on the above names. They are just examples of unambigous, mnemonic names. But I insist that "row_size" and "column_size" method names impress me as ambiguous.

Updated by marcandre (Marc-Andre Lafortune) over 11 years ago

  • Category set to lib
  • Assignee set to marcandre (Marc-Andre Lafortune)

I agree that {row|column}_size can be ambiguous.

I don't believe height/width is used in this context though, at least in mathematics.

Possibilities I can think of: column_count or nb_columns.

Opinions?

Updated by Eregon (Benoit Daloze) over 11 years ago

m and n?
They are awfully short and might be confusing but they also are the names used in standard notation (an m-by-n matrix).

Updated by Anonymous over 11 years ago

@Eregon (Benoit Daloze): #m and #n? Maybe as aliases, but I think that one-character methods should be generally left to daring users. Perhaps #m_size and #n_size.

@Marc-Andre: This is what they call conundrum. #number_of_rows is clear, but almost as long as #each_with_object. #row_count is shorter, but less mnemonic. #nb_rows and such is even less mnemonic. #height / #width is unambiguous, but slightly boorish with respect to mathematicians. Some recommend that methods should be named only with full-length (unabbreviated) English words, but on the other hand, when writing core or stdlib, one is allowed to trade brevity for mnemonism, as seen eg. in "attr_reader". For that case, #no_of_rows / #no_of_columns can be considered. Additional possibility is having a method named eg. #dimensions returning [m, n] for m x n matrix.

Actions #4

Updated by marcandre (Marc-Andre Lafortune) over 11 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r38300.
Boris, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0