# @param {Integer[]} nums
# @return {Integer[]}
def running_sum(nums)
i = 0
while i < nums.length - 1
nums[i+1] = nums[i] + nums[i+1]
i += 1
end
nums
end
Метод с именем running_sums
является методом экземпляра, который принимает параметр с именем nums. Содержимое переменной nums может быть абсолютно любым, поэтому вам нужно позаботиться об этом, например, что произойдет, если some_object.running_sums
будет вызван с использованием следующего параметра %w{word1, word2, word3}
some_object = SomeClass.new
some_object.running_sums(%w{word1, word2, word3})
Кстати, это будет лучше, если running_sums был методом класса, а не методом экземпляра
def self.running_sum(nums)
#etc ...
end
Чтобы вы могли делать
SomeClass.running_sums
Вам нужно помнить, что Ruby - это НЕ строго типизирован.
Большинство других языков строго типизированы, Java, C, C ++, C#, PASCAL, COBOL, Delphi, VisualBasi c и многие другие. вам необходимо определить имя переменной до того, как она будет использоваться, и установить тип переменной, например, целое число, строку или десятичное число, тогда эта переменная зарезервирует слот памяти, который может принимать значения только того типа, который вы установили. В строго типизированных языках вы можете указать имя переменной и называть ее как хотите, но определить ее как целое число, и она будет принимать только целые числа. например, var MyWord: integer
будет означать, что вы можете назначать только целые числа. В некоторых языках только положительные целые числа, отрицательные целые числа будут иметь другой тип. Будет компилятор, который не будет генерировать exe или какой-либо другой конечный результат и выдает ошибку, если вы попытаетесь присвоить значение неправильного типа, это не так в Ruby.
In Ruby вы можете просто составить слово и вставить в него значение любого типа в любое время, и только потому, что вы даете переменной имя, например my_number, это не помешает кому-то вставлять в нее слова или буквы, например my_number = «Кот сидел на стене», что совершенно верно и явно не является числом.
Так что да, это немного похоже на алгебру, буква i обычно обозначает целочисленный тип, но будьте осторожны в Ruby cos это может быть что угодно, это просто блок памяти, содержащий нули и единицы.
Вышесказанное не совсем верно, но должно дать вам правильное представление.