Ruby 大量使用“函数式概念”中的函数,例如map、each。它们确实依赖于一个 独立的函数,在 Ruby 中称为块。
循环二维数组是很常见的,创建一个关于元素的字符串。
在java中,它可能看起来像
public String toString(){
String output = "[";
for (int i =0; i<array.length; i++) {
output+= "Row "+(i+1)+" : ";
for (int j=0; j<array[0].length;j++ ) {
output += array[i][j]+", ";
}
output += "\n";
}
return output += "]";
}
我尝试在“Ruby 函数式”中重写这样的东西,但我认为仍有一些改进。例如。我想删除可变变量输出
def to_s
output = "[\n"
@data.each_with_index do |row,i|
output << "Row #{i+1} : "
row.each { |num| output << "#{num}," }
output << "\n"
end
output+"]"
end