$30 off During Our Annual Pro Sale. View Details »

Rubis naikintuve F-18

Rubis naikintuve F-18

F-18 jet fighter with Ruby

Domas Bitvinskas

October 26, 2013
Tweet

More Decks by Domas Bitvinskas

Other Decks in Programming

Transcript

  1. Rubis
    naikintuve F-18

    View Slide

  2. View Slide

  3. 1995

    View Slide

  4. Ruby, I’m your father
    Matz

    View Slide

  5. DOMAS BITVINSKAS
    domasbitvinskas.com
    @Nedomas

    View Slide

  6. “Garso greitis yra 340.3 m/s”
    # => “Garso greitis yra 340.3 m/s”
    !
    !

    View Slide

  7. “Garso greitis yra 340 m/s”
    # => “Garso greitis yra 340 m/s”
    “Garso greitis yra 340 m/s”.upcase
    # => “GARSO GREITIS YRA 340 M/S”

    View Slide

  8. mach_one = 340.3
    !
    !
    !

    View Slide

  9. mach_one = 340.3
    mach_one/1000 * 3600
    # => 1225.08
    !

    View Slide

  10. mach_one = 340.3
    km_h = mach_one/1000 * 3600
    # => 1225.08
    !

    View Slide

  11. mach_one = 340.3
    km_h = mach_one/1000 * 3600
    “Garso greitis yra #{km_h} km/h”
    # => “Garso greitis yra 1225.08 km/h”

    View Slide

  12. “Garso greitis yra #{km_h} km/h”
    # => “Garso greitis yra 1225.08 km/h”
    “Garso greitis yra #{km_h} km/h”
    .upcase
    # => “GARSO GREITIS YRA 1225.08 KM/H”
    !

    View Slide

  13. “Garso greitis yra #{km_h} km/h”
    # => “Garso greitis yra 1225.08 km/h”
    “Garso greitis yra #{km_h} km/h”
    .upcase
    # => “GARSO GREITIS YRA 1225.08 KM/H”
    “Garso greitis yra #{km_h} km/h”
    .reverse
    # => “h/mk 80.5221 ary sitierg osraG”

    View Slide

  14. def secret(our_secret)
    puts “Menama mįslė…”
    puts our_secret.reverse
    end
    !
    !

    View Slide

  15. def secret(our_secret)
    puts “Menama mįslė…”
    puts our_secret.reverse
    end
    secret(“Garso greitis yra #{km_h} km/h”)
    # => Menama mįslė…
    # => h/mk 80.5221 ary sitierg osraG

    View Slide

  16. Objektas
    Klasė

    View Slide

  17. Objektas
    Klasė
    Integer
    Float
    String
    Lėktuvas
    340
    340.3
    “Greitis”
    F18

    View Slide

  18. class Plane
    def start
    puts “Jonai, pasuk raktelį”
    end
    end
    !
    !
    !
    !
    !
    !

    View Slide

  19. class Plane
    def start
    puts “Jonai, pasuk raktelį”
    end
    end
    !
    f18 = Plane.new
    f18.start
    !
    !
    !

    View Slide

  20. class Plane
    def start
    puts “Jonai, pasuk raktelį”
    end
    end
    !
    f18 = Plane.new
    f18.start
    # => “Jonai, pasuk raktelį”
    !
    !

    View Slide

  21. class Plane
    … def start …
    def crash(bad_part)
    puts “Sprogo #{bad_part}”
    end
    end
    !
    !
    !
    !
    !

    View Slide

  22. class Plane
    … def start …
    def crash(bad_part)
    puts “Sprogo #{bad_part}”
    end
    end
    !
    f18 = Plane.new
    f18.start
    # => “Jonai, pasuk raktelį”
    f18.crash(“sparnas”)
    # => “Sprogo sparnas”

    View Slide

  23. class Plane
    … def start …
    def crash(bad_part)
    puts “Sprogo #{bad_part}”
    end
    end
    !
    f18 = Plane.new
    f18.start
    # => “Jonai, pasuk raktelį”
    f18.crash(“pilotas”)
    # => “Sprogo pilotas”

    View Slide

  24. parts = [“sparnas”, “variklis”, “ginklai”]
    !
    !
    !

    View Slide

  25. parts = [“sparnas”, “variklis”, “ginklai”]
    parts.size
    # => 3
    !

    View Slide

  26. parts = [“sparnas”, “variklis”, “ginklai”]
    parts.first
    # => “sparnas”
    !

    View Slide

  27. parts = [“sparnas”, “variklis”, “ginklai”]
    parts.include?(“variklis”)
    # => true
    parts.include?(“pilotas”)
    # => false

    View Slide

  28. if 5 > 4
    puts “Dėsniai vis dar galioja”
    else
    puts “Nieko gero”
    end
    true
    false

    View Slide

  29. if 5 > 4
    puts “Dėsniai vis dar galioja”
    else
    puts “Nieko gero”
    end
    # => “Dėsniai vis dar galioja”
    true
    false

    View Slide

  30. class Plane
    def crash(bad_part)
    parts = [“sparnas”, “variklis”, “ginklai”]
    if parts.include?(bad_part)
    puts “Sprogo #{bad_part}”
    else
    puts “#{bad_part} nėra lėktuvo dalis”
    end
    end
    end
    f18 = Plane.new
    f18.crash(“sparnas”)
    # => “Sprogo sparnai”
    f18.crash(“pilotas”)
    # => “pilotas nėra lėktuvo dalis”

    View Slide

  31. View Slide

  32. class Plane
    def initialize(plane_parts)
    @parts = plane_parts
    end
    def crash(bad_part)
    if @parts.include?(bad_part)
    puts “Sprogo #{bad_part}”
    else
    puts “#{bad_part} nėra lėktuvo dalis”
    end
    end
    end
    seaplane = Plane.new([“propeleris”, “slidės”])
    seaplane.crash(“propeleris”)
    # => “Sprogo propeleris”

    View Slide

  33. Objektas
    Klasė
    Integer
    Float
    String
    Array
    Plane
    340
    340.3
    “Greitis”
    [“sparnas”]
    f18, seaplane

    View Slide

  34. Užduotis

    View Slide

  35. Užduotis
    Parašyti klasę, kurios objektas mokėtų
    sukūrimo metu atsiminti perduotus ingredientus
    bei pasakyti ar ingredientas yra recepte.
    !
    Pavyzdžiui
    sausainiai = Recipe.new([“miltai”, “vanduo”])
    sausainiai.in_recipe?(“vanduo”)
    #=> "Yra"
    sausainiai.in_recipe?(“kiaušiniai”)
    #=> "Nėra"

    View Slide

  36. class Recipe
    def initialize(ingredients)
    @all_ingredients = ingredients
    end
    !
    def in_recipe?(ingredient)
    if @all_ingredients.include?(ingredient)
    puts "Recepte YRA toks ingredientas: #{ingredient}"
    else
    puts "Recepte NĖRA tokio ingrediento: #{ingredient}"
    end
    end
    end

    View Slide