SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
y. Pradžia
Rub
013-11-30
ošis @ VilniusRB, 2
Vidmantas Kab
žių pradžia
Prad

1995
žių pradžia
Prad

1995
© Kada, jei ne dabar
Visur
ir Lietuvoje
Visur -
ctivity & fun
mogui: produ
Ž
“vilniusrb”.length
ctivity & fun
mogui: produ
Ž
“vilniusrb”.length
[ 1, 2, 3 ].include?(2)
ctivity & fun
mogui: produ
Ž
“vilniusrb”.length
[ 1, 2, 3 ].include?(2)
print “YOLO” if 1 > 2
ctivity & fun
mogui: produ
Ž
“vilniusrb”.length
[ 1, 2, 3 ].include?(2)
print “YOLO” if 1 > 2
10.times do
puts “99 bottles…”
end
Katės
Objektai

Pradžioje visko, buvo

objektas
sukūrimas
Objektų

Tam, kad pagamintume ką nors, reikia

instrukcijos
Klasės

Tam, kad pagamintume ką nors, reikia

klasės
Klasė
Objektai
ės aprašymas
Klas
class Pavadinimas
# metodai
end
ės aprašymas
Klas
class House
def number_of_floors
puts “2”
end
end
sukūrimas
Objekto
home = House.new
home.number_of_floors
sukūrimas
Objekto
home = House.new
home.number_of_floors
#=> “2”
iai objektai
Standartin
42
3.14
“VilniusRB”
[1, 2, 3]
{ “pi” => 3.14,
“e” => 2.71 }

#
#
#
#

Integer
Float
String
Array

# Hash
iai objektai
Standartin
[“langai”, “durys”, “sienos”].size

#=> 3
[“langai”, “durys”,
“sienos”].include?(“balkonas”)

#=> false
4 * 2
#=> 8
ymo tvarka
Vykd
if condition
# kodas
else
# kitas kodas
end
Sąlyga
NEVYKDOMA, jei sąlyga grąžina:
false
nil
Sąlyga
NEVYKDOMA, jei sąlyga grąžina:
false
nil
VYKDOMA:
visa kita :-)
true, tekstas, skaičius,
sąrašas, ...
Pavyzdys
class Recipe
def contains?(ingredient)
if [“miltai”, “cukrus”].include?(ingredient)
puts “Šis ingredientas yra!”
else
puts “Teks nusipirkti”
end
end
end
r = Recipe.new
r.contains?(“razinkos”) #=> “Teks nusipirkti”
o metodas
Sukūrim
class Recipe
def initialize(ingredients)
@ingredients = ingredients
end
end
r = Recipe.new([“miltai”, “razinkos”])
kintamasis
Objekto
class Recipe
def initialize(ingredients)
@ingredients = ingredients
end
def contains?(ingredient)
if @ingredients.include?(ingredient)
puts “YAY!”
end
end
end
kintamasis
Objekto
r = Recipe.new([“miltai”, “razinkos”])
r.contains?(“razinkos”)
#=> “YAY!”
r = Recipe.new([“cukrus”, “bananai”])
r.contains?(“razinkos”)
#=> nil
Užduotis
Parašyti klasę, kurios objektas mokėtų
sukūrimo metu atsiminti perduotą sąrašą ir
pasakyti, ar konkreti dalis yra tame sąraše.
Pavyzdžiui:
home = House.new([“sienos”, “laiptai”])
home.has?(“langai”) #=> “Ne”
home.has?(“sienos”) #=> “Taip”
irmūnams :-)
ma užduotis p
Papildo
Papildykite klasę nauju metodu, kuris
pagal perduotą aukštų skaičių, grąžiną
pastato aukštį (sakykim, kad vienas
aukštas = 3.1 m)
Pavyzdžiui:
home.height(2) #=> 6.2
home.height(5) #=> 15.5
gem
Ruby klasės
Savo klasės
Kitų klasės: gem
anaudojimas
P
$ gem install credit_card_validator
anaudojimas
P
require “credit_card_validator”
number = '1111 2222 3333 4444'
CreditCardValidator::Validator
.valid?(number)
#=> false
end
@vidmantas
+vidmantaskabosis
vidmantas@kabosis.lt

Más contenido relacionado

Mehr von Vidmantas Kabošis

Mehr von Vidmantas Kabošis (6)

Cucumber @ VilniusPHP
Cucumber @ VilniusPHPCucumber @ VilniusPHP
Cucumber @ VilniusPHP
 
Rails Girls Vilnius - lightning talk
Rails Girls Vilnius - lightning talkRails Girls Vilnius - lightning talk
Rails Girls Vilnius - lightning talk
 
Capistrano @ VilniusPHP
Capistrano @ VilniusPHPCapistrano @ VilniusPHP
Capistrano @ VilniusPHP
 
Ruby on rails @ Tobulėtuvė
Ruby on rails @ TobulėtuvėRuby on rails @ Tobulėtuvė
Ruby on rails @ Tobulėtuvė
 
RubyConfLT2012: Legacy / long running projects
RubyConfLT2012: Legacy / long running projectsRubyConfLT2012: Legacy / long running projects
RubyConfLT2012: Legacy / long running projects
 
ERb alternatyvos
ERb alternatyvosERb alternatyvos
ERb alternatyvos
 

Ruby. Pradžia