Раздел «Язык Ruby».RubyCourseLecture01:
<<Метапрограммирование на Ruby

Следующая лекция

Лекция 1: Введение в язык Ruby. Примеры кода

Hello, world, and others

puts "Hello, world"
puts 2+3*4
puts "a", 0.1234, 10

10.times { puts "Hello"}

# Вывод квадратов натуральных чисел
puts (1..10).map{|i| i*i} 

Таблица умножения

10.times do |x|
  10.times do |y|
    print  "%5d" % [ (x+1) * (y+1) ]
  end
  puts
end

Методы map, times, each

(100..110).each do |n|
  puts n
end

# Вывод n! для n = 1, 2, ..., 20
n = 1
20.times do |i|
  n *= i + 1
  puts n
end 

# массив остатков степеней двойки по модулю 13
a  = (1..100).map{|i| (2**i) % 13}
p a

Числа Фибоначчи

# С - стиль программирования
# Так писать на Ruby не следует

$d = []
def fib(n)
  if d[n]
    return d[n]
  end
  if n == 1 || n == 0
    return 1
  end
  return d[n] = fib(n-1) + fib(n-2)
end 

# Ruby style
def fib(n)
  (@d ||= [1,1])[n] ||= (  
    fib(n-1) + fib(n-2)
  )
end 

Важные замечания

Ссылки

Следующая лекция