#!/usr/bin/env ruby include Enumerable puts Math.sqrt(2); puts Math::PI # или include Math puts sqrt(2); puts PI # получить квадраты целых чисел от 1 до 4 a1 = (1..4).collect {|i| i*i } # тоже самое a2 = (1..4).map {|i| i*i } p a1, a2 # выдать четыре раза строку "cat" b = (1..4).collect { "cat" } p b # найти первое вхождение числа, # которое делится и на 5 и на 7 # поиск среди чисел от 1 до 10 - таких нет c = (1..10).detect {|i| i % 5 == 0 and i % 7 == 0 } p c # поиск среди чисел от 1 до 100 - первым найдено число 35 c1 = (1..100).detect {|i| i % 5 == 0 and i % 7 == 0 } # то же самое c2 = (1..100).find {|i| i % 5 == 0 and i % 7 == 0 } p c1, c2 # найти все вхождения чисел, которые делятся и на 5 и на 7 c = (1..100).find_all {|i| i % 5 == 0 and i % 7 == 0 } p c # найти все целые числа, кратные 3 и не превышающие 10 d1 = (1..10).find_all {|i| i % 3 == 0 } # то же самое d2 = (1..10).select {|i| i % 3 == 0 } # и, наоборот, удалить все целые числа, кратные 3 d3 = (1..10).reject {|i| i % 3 == 0 } p d1, d2, d3 # преобразовать объект перечисляемого типа в массив l = 1..10; p l.to_a # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] puts "Максимум чисел #{1..10} равен #{(1..10).max}" # сортировка по убыванию p ((1 .. 8).sort { |i,j| j<=>i}) # [8, 7, 6, 5, 4, 3, 2, 1] # минимальный элемент массива a1 = %w(albatross dog horse) p a1.min # albatross puts a1.max {|a,b| a.length <=> b.length } # albatross