В 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 способ' записи 'статического метода'?
Ответ Андерса правильный, однако для служебных методов, таких как , означает
, вам не нужно использовать класс, вы можете указать в модуле :
module MyUtils
def self.mean(values)
# implementation goes here
end
end
Метод будет вызываться таким же образом:
avg = MyUtils.mean([1,2,3,4,5])
Use self:
class Horse
def self.say
puts "I said moo."
end
end
Horse.say