在Java中,'静态方法'看起来像这样:
class MyUtils {
. . .
public static double mean(int[] p) {
int sum = 0; // sum of all the elements
for (int i=0; i<p.length; i++) {
sum += p[i];
}
return ((double)sum) / p.length;
}
. . .
}
// Called from outside the MyUtils class.
double meanAttendance = MyUtils.mean(attendance);
编写“静态方法”的等效“Ruby方式”是什么?
答案 0 :(得分:10)
使用self:
class Horse
def self.say
puts "I said moo."
end
end
Horse.say
答案 1 :(得分:5)
Anders的回答是正确的,但对于像mean
这样的实用方法,您不需要使用类,可以将该方法放在module中:
module MyUtils
def self.mean(values)
# implementation goes here
end
end
该方法将以相同的方式调用:
avg = MyUtils.mean([1,2,3,4,5])