Hello Again World Programmering for gy Innhold Installasjon

  • Slides: 17
Download presentation
Hello Again World Programmering for gøy

Hello Again World Programmering for gøy

Innhold • • • Installasjon av Ruby Oppvarming: Binærsøk Oppgave: Finn anagrammer For de

Innhold • • • Installasjon av Ruby Oppvarming: Binærsøk Oppgave: Finn anagrammer For de interesserte: Gjenta i C/Ruby

Installasjon av Ruby • Ruby installer på \bastianpublicinstallruby • Her finner du også: –

Installasjon av Ruby • Ruby installer på \bastianpublicinstallruby • Her finner du også: – Syntax definition filer for Text. Pad og Edit. Plus – Edit. Plus for de som trenger en editor • Installerer Ruby, samt dokumentasjon • http: //www. rubycentral. com • http: //www. ruby. no

Hello Ruby C: >irb irb(main): 001: 0> puts "Hello world" Hello world => nil

Hello Ruby C: >irb irb(main): 001: 0> puts "Hello world" Hello world => nil irb(main): 001: 0> class A irb(main): 002: 0> irb(main): 002: 1> def test irb(main): 003: 2> puts "hello world" irb(main): 004: 2> end irb(main): 005: 1> end => nil irb(main): 006: 0> a = A. new => #<A: 0 x 28 dea 20> irb(main): 007: 0> a. test hello world => nil irb(main): 008: 0>

Innhold • • • Installasjon av Ruby Oppvarming: Binærsøk Oppgave: Finn anagrammer For de

Innhold • • • Installasjon av Ruby Oppvarming: Binærsøk Oppgave: Finn anagrammer For de interesserte: Gjenta i C/Ruby

Binærsøk (”chop”) 10? 0 0 0 3 3 3 4 4 4 6 6

Binærsøk (”chop”) 10? 0 0 0 3 3 3 4 4 4 6 6 6 10 10 11 17 10? 10 11 11 17 17

Skriv en test require 'slice_chop' require 'test/unit/ui/console' class Test. Chop < Test: : Unit:

Skriv en test require 'slice_chop' require 'test/unit/ui/console' class Test. Chop < Test: : Unit: : Test. Case def test. Empty assert_equal(-1, chop(3, [])) end def test. Single assert_equal(-1, chop(3, [1])) assert_equal(0, chop(1, [1])) end def test. Three assert_equal(0, assert_equal(1, assert_equal(2, assert_equal(-1, end chop(1, chop(3, chop(5, chop(0, chop(2, chop(4, chop(6, [1, [1, 3, 3, 5])) 5])) def Test. Chop. run Test: : Unit: : UI: : Console: : Test. Runner. run(Test. Chop) end

Arrays i Ruby irb(main): 007: 0> a = Array. new => [] irb(main): 009:

Arrays i Ruby irb(main): 007: 0> a = Array. new => [] irb(main): 009: 0> a = [0, 3, 4, 6, 10, 11, 17 ] => [0, 3, 4, 6, 10, 11, 17] irb(main): 010: 0> a[3] => 6 irb(main): 011: 0> a[4. . 6] => [10, 11, 17] irb(main): 013: 0> a[3, 2] => [6, 10]

Vær så god! • Last inn testen i IRB med: • irb(main): 001: 0>

Vær så god! • Last inn testen i IRB med: • irb(main): 001: 0> load 'Test. Chop. rb’ • irb(main): 002: 0> Test. Chop. run • (Min beste løsning er på 14 linjer) • Beregnet tid: 5 minutter + 10 minutter

Innhold • • • Installasjon av Ruby Oppvarming: Binærsøk Oppgave: Finn anagrammer For de

Innhold • • • Installasjon av Ruby Oppvarming: Binærsøk Oppgave: Finn anagrammer For de interesserte: Gjenta i C/Ruby

Anagram • Eksempler: – Ante, neat – Blue, lube – Chin, inch – Door,

Anagram • Eksempler: – Ante, neat – Blue, lube – Chin, inch – Door, odor, rood – Ever, veer – Post, spot

Hashmaps i Ruby irb(main): 001: 0> m = Hash. new => {} irb(main): 002:

Hashmaps i Ruby irb(main): 001: 0> m = Hash. new => {} irb(main): 002: 0> m = { 'a' => 'b', 'r' => [1, 2, 3] } => {"a"=>"b", "r"=>[1, 2, 3]} irb(main): 003: 0> m['a'] => "b" irb(main): 004: 0> m['b'] => nil irb(main): 005: 0> m['r'] => [1, 2, 3] irb(main): 006: 0> m['c'] = 15 => 15 irb(main): 007: 0> m => {"a"=>"b", "c"=>15, "r"=>[1, 2, 3]} irb(main): 008: 0> m['a'] = "hello world" => "hello world" irb(main): 009: 0> m => {"a"=>"hello world", "c"=>15, "r"=>[1, 2, 3]} irb(main): 010: 0> m. delete("r") => [1, 2, 3] irb(main): 011: 0> m => {"a"=>"hello world", "c"=>15} irb(main): 012: 0>

Skriv en test require ’anagram' require 'test/unit' class Test. Anagram < Test: : Unit:

Skriv en test require ’anagram' require 'test/unit' class Test. Anagram < Test: : Unit: : Test. Case def test. Anagrams assert(anagrams? (”door”, ”odor”)) assert(not anagrams? (”door”, ”deer”)) end def test. Anagram. Class anagram. Collection = collect_anagrams(”door”, ”odor”, ”rood”, ”ever”, ”veer”)) assert(contains_anagrams([”door”, ”odor”, ”rood”], anagram. Collection)) assert(contains_anagrams([”ever”, ”veer”], anagram. Collection)) end

Vær så god! • Last inn testen i IRB med: • irb(main): 001: 0>

Vær så god! • Last inn testen i IRB med: • irb(main): 001: 0> load 'Test. Anagram. rb’ • NB: Min beste løsning er på 7 linjer! • Beregnet tid: 5 minutter + 15 minutter diskusjon + 15 minutter

Innhold • • • Installasjon av Ruby Oppvarming: Binærsøk Oppgave: Finn anagrammer For de

Innhold • • • Installasjon av Ruby Oppvarming: Binærsøk Oppgave: Finn anagrammer For de interesserte: Gjenta i C/Ruby

Installasjon av Cygwin GCC • \bastianpublicinstallcygwinsetup. exe • Filene ligger lokalt på – \bastianpublicinstallcygwinpackages

Installasjon av Cygwin GCC • \bastianpublicinstallcygwinsetup. exe • Filene ligger lokalt på – \bastianpublicinstallcygwinpackages • Start gcc med kommandoen gcc

Links • • http: //www. ruby-lang. com http: //www. ruby. no/prosjekt/Ruby. Nuby/ http: //www.

Links • • http: //www. ruby-lang. com http: //www. ruby. no/prosjekt/Ruby. Nuby/ http: //www. ruby. no/prosjekt/Programmerin g. IRuby/ • http: //www. rubycentral. com • http: //onestepback. org/articles/usingruby/