# Анонимные функции называются Лямбда prc = lambda { |name| puts "Hello" + name } prc.call "Robot" count = Proc.new { [1,2,3].each do |i| print i end; puts } count.call prc = proc { puts "Hello" } prc.call # Процедурные объекты с блоком кода в качестве параметра def profile descriptionOfBlock, &block # Описание блока и сам блок startTime = Time.now block.call duration = Time.now - startTime puts descriptionOfBlock+': '+duration.to_s+' сек.' end profile '25000 удваиваний' do number = 1 25000.times do number = number + number end puts number.to_s.length.to_s+' цифр' end
Ruby Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor