Hledat
Přihlásit se
  • Věda a technika
  • Herní doupě
  • Tipy pro PC
  • IT Byznys
  • Mobily
  • Počítače
  • Počítače
  • Témata
  • Poradna
  • Diskuzní fórum
  • Video
  • Bazar
  • Blogy
  • MĚŘENÍ RYCHLOSTI
  • RSS
  • Facebook Twitter Google+ YouTube
  • Hardware
  • Software
  • Počítače
  • Notebooky
  • Služby na webu
  • Apple
  • Google
  • Microsoft
  • Seznam
  • Tiskové zprávy
Další témata
  • Týden Živě
  • Zprávy Živě
  • Testy
  • Pitvy
Všechna videa
X

Doporučit článek

Vaše jméno:

Váš e-mail:

E-mail adresáta:

Komentář:

kontrolní kód

Odeslat

Blogy Živě » O programování a všem okolo

O programování a všem okolo

Články vytvořil Jiří Hrebenar
 

Ruby - break, redo a next v cyklech

23. 8. 2009, gisat_cz

Již nějakou dobu se zabýváme v našem povídání o jazyku Ruby cykly. Pokud jste četli předchozí články, jistě jste zjistili, že práce s cykly je mnohdy v Ruby mírně odlišná od aplikace cyklů v jiných programovacích jazycích.

Dnes bychom si měli něco říct o další možné součásti cyklů, jsou to příkazy break, redo a next. Tyto předchozí příkazy jsou využívány ve spojení cyklů, u kterých se vyskytují tzv. iterátory.

S iterátory jste měli možnost se v předchozích článcích setkat, vzpomeňte si například na článek o cyklech for, tam s iterátory zacházíte zcela běžně. Proto, pokud nevíte co je to iterátor doporučuji Vám přečíst si článek o cyklech for.

Co příkazy redo, break a next vlastně znamenají? Na to je velmi jednoduchá odpověď:

  • break - ukončuje obklopující cyklus
  • redo - opakuje iteraci aktuálního cyklu
  • next - přeskočí na konec aktuální iterace

Pro bližší vysvětlení si všechny příkazy ukážeme na jednoduchých příkladech.

Příklad na příkaz break:

Představte si následující situaci: potřebujete napsat kód, který se neustále bude uživatele na něco ptát, pokud uživatel zadá nějaké předem zvolené písmenko tak se vyonávání kódu zastaví:

loop do
puts(”Zmacknete nejake pismenko”)
puts(”Pokud zmacknete písmenko x, program ukoncite”)
gets
chomp
break if $_==”x”
end

Příklad na příkaz next:

Zkrátka pokud během iterace budete chtít vynechat nějaký prvek, tak to můžete učinit pomocí příkazu next. Představte si, že například budete chtít  vyiterovat číslo od 1 do 10a budete chtít během iterace vynechat číslo 5, mohli byste to provést takto:

1.upto(10) do |cislo|
next if cislo==5
puts cislo.to_s + “/1 = “+(cislo/1).to_s
end

Výsledek bude tedy takovýto:

1/1 = 1
2/1 = 2
3/1 = 3
4/1 = 4
6/1 = 6
7/1 = 7
8/1 = 8
9/1 = 9
10/1 = 10

Příklad na příkaz redo:

Pokud použijeme předchozí příklad ve kterém jsme vydělili vyterované číslo s jedničkou a místo příkazu next dáme příkaz redo tak se nám vypíší pouze čísla od 1 do 4:

1.upto(10) do |cislo|
redo if cislo==5
puts cislo.to_s + “/1 = “+(cislo/1).to_s
end

Výsledek bude:

1/1 = 1
2/1 = 2
3/1 = 3
4/1 = 4


Publikováno v rubrice Ruby. Reakce v diskuzi lze sledovat prostřednictvím RSS 2.0. Můžete přidat komentář, nebo se na článek odkázat ze svého webu.

« Java - jednoduchý přístup k databázi MySQL
Internet Explorer a Hotmail = bezpečnostní riziko »
 

Přidat komentář

*
Opište prosím text z obrázku.
Anti-Spam Image

O programování a všem okolo využívá WordPress MU a běží na Blog.zive.cz. Vytvořte si svůj vlastní blog
Sledování přes RSS: články a komentáře



  • Archivy

    • Duben 2012
    • Květen 2011
    • Leden 2011
    • Prosinec 2010
    • Listopad 2010
    • Říjen 2010
    • Květen 2010
    • Březen 2010
    • Únor 2010
    • Leden 2010
    • Prosinec 2009
    • Září 2009
    • Srpen 2009
    • Červenec 2009
    • Srpen 2008
  • Rubriky

    • AJAX (7)
    • Awk a sed (2)
    • CSS, HTML (3)
    • Java (3)
    • Javascript (25)
    • Javascript frameworky (4)
    • Nezařazené (11)
    • Opensource (21)
    • Ostatní (10)
    • PHP (7)
    • PHP,MySQL a APACHE (1)
    • Ruby (16)
    • Sociální sítě (15)
    • UNIX (5)
    • XML (3)
    • Zprávy (61)
  • Spřátelené blogy

    lara.111: my clever blog
  • Twitter

    • Don't judge what people do, until you know what they've been through
    • My new facebook cover pic ♥♥♥ #pinkies #pinkfamily @pink http://t.co/YzU4VD8z
    • http://t.co/wBp1dMQp
    • http://t.co/eoy51U52
    • P!nk - Sober http://t.co/aweFtMui
  • Administrace

    • Přihlásit se


Předplatné Computer

Aktuální číslo časopisu Computer
  • Testy nejnovějších produktů na českém trhu.
  • Informace ze světa internetu i bezpečnosti.
  • Plné verze programů zdarma pro všechny čtenáře.
Archiv Předplatné
Elektronické předplatné Tištěné předplatné