Если вам нужна функция shell , которая вызывает этот метод ruby:
squares() {
ruby -e '
def squares(input)
numbers = (1..input)
numbers.each do |number|
puts number * number
end
end
squares ARGV.shift.to_i
' -- "$1"
}
, тогда
$ squares 3
1
4
9
If, через "ruby терминал", вы имеете в виду irb
, затем добавьте этот метод в ваш файл ~/.irbrc
, затем вы можете сделать
$ cat ~/.irbrc
def squares(input)
numbers = (1..input)
numbers.each do |number|
puts number * number
end
end
$ irb
irb(main):001:0> squares(3)
1
4
9
=> 1..3
irb(main):002:0>
Просто для удовольствия, обезьяна исправляет класс Integer:
$ cat ~/.irbrc
class Integer
def squares
1.upto(self) {|n| puts n * n}
self
end
end
$ irb
irb(main):001:0> 3.squares
1
4
9
=> 3