16. • Налага се да работиш извънработно време. Като
проститутка.
17. • Налага се да работиш извънработно време. Като
проститутка.
• Обикновенно работиш до късно. Като проститутка.
18. • Налага се да работиш извънработно време. Като
проститутка.
• Обикновенно работиш до късно. Като проститутка.
• Никога няма да започнеш да се гордееш с работата си.
Като проститутка.
19. • Налага се да работиш извънработно време. Като
проститутка.
• Обикновенно работиш до късно. Като проститутка.
• Никога няма да започнеш да се гордееш с работата си.
Като проститутка.
• Когато те питат с какво се занимаваш - не можеш да
обясниш. Като проститутка.
20. • Налага се да работиш извънработно време. Като
проститутка.
• Обикновенно работиш до късно. Като проститутка.
• Никога няма да започнеш да се гордееш с работата си.
Като проститутка.
• Когато те питат с какво се занимаваш - не можеш да
обясниш. Като проститутка.
• В края края на крайщата се чувстваш сякаш си се
измъкнал от ада. Като проститутка.
21. • Налага се да работиш извънработно време. Като
проститутка.
• Обикновенно работиш до късно. Като проститутка.
• Никога няма да започнеш да се гордееш с работата си.
Като проститутка.
• Когато те питат с какво се занимаваш - не можеш да
обясниш. Като проститутка.
• В края края на крайщата се чувстваш сякаш си се
измъкнал от ада. Като проститутка.
• Ако нещо не е както трябва, виновният си ти. Като
проститутка.
22. • Налага се да работиш извънработно време. Като
проститутка.
• Обикновенно работиш до късно. Като проститутка.
• Никога няма да започнеш да се гордееш с работата си.
Като проститутка.
• Когато те питат с какво се занимаваш - не можеш да
обясниш. Като проститутка.
• В края края на крайщата се чувстваш сякаш си се
измъкнал от ада. Като проститутка.
• Ако нещо не е както трябва, виновният си ти. Като
проститутка.
• И се питаш накрая: quot;АБЕ, аз системен администратор ли
съм или ....?quot;
72. # Обектно-ориентирано програмиране (2)
class Vector
def initialize(x, y, z)
@x = x
@y = y
@z = z
end
def len
(@x * @x + @y * @y + @z * @z) ** 0.5
end
def *(other)
...
end
end
73. # Обектно-ориентирано програмиране (3)
class Vector
def x()
@x
end
def x=(val)
@x = val
end
end
a = Vector(0, 1, 0)
puts a.x
puts a.x()
a.x = 10
a.x=(10)
77. # Корутини (3)
def filter(things)
result = []
things.each do |thing|
result << thing if yield(thing)
end
result
end
filter([3, 5, 7, 11, 13, 17]) { |x| x > 10 }
78. # Всички прости числа до 100
2.upto(100) do |n|
puts n if (2...n).all? { |x| n % x != 0 }
end
79. # Mix-in
module FunctionalStuff
def map
result = []
self.each { |item| result << yield(item) }
result
end
def select
result = []
self.each { |item| result << item if yield(item) }
result
end
end
class PrimesUpTo
include FunctionalStuff
def each ... end
end
80. # Monkey patch
class Integer
def factorial()
(1..self).inject { |a, b| a * b }
end
end
puts 5.factorial
86. describe Stack do
before(:each) do
@stack = Stack.new
[1, 2, 3, 4].each { |n| @stack << n }
RSpec
end
it quot;should have all items in reversed orderquot; do
@stack.should_not be_empty
@stack.should have(4).items
@stack.items.should == [4, 3, 2, 1]
end
it quot;should be empty if emptiedquot; do
4.times { @stack.pop }
@stack.should be_empty
@stack.should have(:no).items
end
end
87. Shoes.app do
background quot;#eeequot;
@list = stack do
para quot;Enter a URL to download:quot;, :margin => [10, 8, 10, 0]
flow :margin => 10 do
@url = edit_line :width => -120
Shoes
button quot;Downloadquot;, :width => 120 do
@list.append do
stack do
background quot;#eeequot;..quot;#ccdquot;
stack :margin => 10 do
dl = nil
para @url.text, quot; [quot;, link(quot;cancelquot;) { dl.abort }, quot;]quot;, :margin => 0
d = inscription quot;Beginning transfer.quot;, :margin => 0
p = progress :width => 1.0, :height => 14
dl = download @url.text, :save => File.basename(@url.text),
:progress => proc { |dl|
d.text = quot;Transferred #{dl.transferred} of #{dl.length} b (#{dl.percent}%)quot;
p.fraction = dl.percent * 0.01 },
:finish => proc { |dl| d.text = quot;Download completedquot; }
end
end
end
end
end
end
end