Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.92 KB | None | 0 0
  1. def doUntilFalse firstInput, someProc
  2.  
  3.  
  4.  
  5.   input  = firstInput
  6.   output = firstInput
  7.  
  8.  
  9.  
  10.  
  11.   while output
  12.     input  = output
  13.     output = someProc.call input
  14.   end
  15.  
  16.  
  17.   input
  18. end
  19.  
  20.  
  21.  
  22.  
  23. buildArrayOfSquares = Proc.new do |array| # Создание массива квадратов чисел
  24.   lastNumber = array.last
  25.  
  26.  
  27.   if lastNumber <= 0
  28.     false
  29.  
  30.  
  31.   else
  32.     array.pop                        # Уберём последнее число...
  33.     array.push lastNumber*lastNumber # ...и заменим его на его квадрат...
  34.     array.push lastNumber-1          # ...за которым идет предыдущее число.
  35.  
  36.  
  37.   end
  38.  
  39.  
  40. end
  41.  
  42.  
  43. alwaysFalse = Proc.new do |justIgnoreMe|
  44.   false
  45. end
  46.  
  47.  
  48.  
  49.  
  50.  
  51. puts doUntilFalse([5], buildArrayOfSquares).inspect
  52. puts doUntilFalse('Я пишу это в 3 часа утра; кто-то меня вырубил!', alwaysFalse)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement