přejít na obsah přejít na navigaci

Linux E X P R E S, Naučte se Ruby 3 - Proměnné a přiřazování

Naučte se Ruby 3 - Proměnné a přiřazování

ruby.jpg

Dnešní povídání bude proti tomu minulému o něco kratší, ale přesto o dost důležitější. Hovořit budeme o něčem, bez čeho se žádný programátor neobejde. Tímto speciálním nástrojem není kafe ani sluchátka, ale je jím to, co se nazývá proměnná . Pojďme se nyní zamyslet nad následujícím programem.


puts 'Jsem nejlepší na světě.'
puts 'Jsem nejlepší na světě.'

Z předchozího dílu je jasné, že tento opravdu jednoduchý program dvakrát vypíše uvedenou větu. Pokud bychom tento výpis opakovali na různých místech programu, nejspíše bychom využili zkratkových kláves [Ctrl+c] a [Ctrl+v] nebo hbitosti svých prstů… Na druhou stranu je vidět, že tento způsob není příliš praktický ani příliš hospodárný.

Za pomoci proměnné bychom si předcházející příklad zjednodušili takto:

mujText = 'Jsem nejlepší na světě.'
puts mujText
puts mujText

Zde jsme použili proměnnou mujText, do které jsme přiřadili text. Proměnnou jsme pak použili ve funkci puts, čímž došlo k vypsání jejího obsahu. Všimněte si také, že pro přiřazení hodnoty (v našem případě textu) do proměnné se používá operátor rovná se (=).

Nyní můžete namítnout, že místo dvou řádků máme řádky tři a tím i delší kód programu. Pokud si však uvědomíte, že změnou hodnoty proměnné nahoře se změní i text, který se bude vypisovat všude tam, kde tuto proměnnou používáte, je tato vlastnost k nezaplacení.

Ruby rozlišuje velikost písmen, tzn. je rozdíl mezi proměnnou mujText, MujText, mujTEXT, atd. Všechny tyto proměnné jsou jiné!

Je jistě dobrým zvykem začínat proměnné malým písmenem. Názvy proměnných byste pak měli volit tak, aby byly samovysvětlující, tzn. mělo by být na první pohled (při troše té fantazie) patrné, které hodnoty bude daná proměnná obsahovat. Pokud pak chcete vytvářet program, do kterého budou nahlížet i programátoři z celého světa, pak určitě volte proměnné v angličtině. Proměnná kromě písmen může také obsahovat i číslice. Příkladem proměnné tak může být např. slovo, cislo, i, text1, atd. Pro velké usnadnění čtení a pochopení významu velmi dlouhého názvu proměnné pak můžete využít vkládání velkých písmen do jejího názvu, např.: jednaVelmiDlouhaPromenna.

Proměnné, které se nemění, tzn. po celou dobu své existence nabývají pouze jedné konkrétní hodnoty, se nazývají konstanty. Konstanty značíme obvykle velkými písmeny, např. AUTOR, PODPIS, KROK.

S proměnou můžeme pracovat stejně jako bychom pracovali s hodnotou v ní obsaženou.

jmeno = 'Martin Šín'
puts 'Ty musíš být ' + jmeno
puts 'Říká se, že ' + jmeno + ' je ten nejlepší.'

No a konečně nejdůležitější vlastnost proměnných, která je daná mj. už jejich názvem - do proměnné můžete opakovaně přiřazovat:

prohlizec = 'Internet Explorer'
puts 'Nejlepším prohlížečem se stává ' + prohlizec

prohlizec = 'Firefox'
puts 'Nejlepším prohlížečem se stává ' + prohlizec

Dosud jsme do proměnných přiřazovali výlučně text, ale do proměnné můžete stejně tak přiřadit i jiné typy objektů, např. čísla:

prom = 'Nějaký řetězec'
puts prom

prom = 3 * (2 + 6)
puts prom

Poznámka na závěr - do proměnné můžete přiřadit také jinou proměnnou:

var1 = 8
var2 = var1
puts var1
puts var2

puts ''

var1 = 'osm'
puts var1
puts var2

zobrazí

8
8

osm
8

Jakmile do proměnné var2 přiřadíte proměnnou var1, přepíše se obsah proměnné var2 obsahem proměnné var1. Tzn. obě proměnné zůstanou nadále nezávislé a změna obsahu proměnné var1 obsah proměnné var2 nijak neovlivní. (var je zkratka anglického slova variable, česky proměnná.)

Tím se dostáváme na závěr dnešního povídání o proměnných. Nezapomeňte si rozmyslet příklad na závěr, jehož řešení nemusí být na první pohled snadné. Tato konstrukce je však typickým a často používaným kusem kódu, který prostě musíte znát. Příště budeme kombinovat a prohlubovat dosud získané znalosti.

Příklady 3

Vytvořte proměnné a a b, naplňte je nějakými hodnotami a tyto proměnné vypište. Poté jejich obsah vyměňte. (Návod: Pro výměnu obsahu dvou proměnných budete potřebovat třetí proměnnou, např. c.)

Nahoru

Příspěvky

Naučte se Ruby 3 - Proměnné a přiřazování
1x23 25. 03. 2010, 22:07:52
Odpovědět  Odkaz 
ahoj asnžim se vydělit roky měcísí tak abych ziskal měcíce...

soucet.rb:6: undefined method `/' for "23\n":String (NoMethodError)

puts 'Ahoj, zadej své jmeno'
jmeno = gets

puts 'Kolik je ti let?'
roky = gets
mesic = roky/12
puts 'Zadaj jsi jmeno' + jmeno

puts 'je Ti:' + roky + 'to je:' + mesic + 'měsíců.'
puts 'konec programu :)'

zkoušel jsem i

puts 'je ti:' + roky + 'to je' + roky/mesic + 'měsíců'

včem jsem udělal chybu?
Naučte se Ruby 3 - Proměnné a přiřazování
Drekorian 24. 08. 2010, 20:21:18
Odpovědět  Odkaz 
Jak už se psalo v minulé kapitole, se Stringy nelze počítat (takže je nelze ani dělit, o což se pokoušíš na 6. řádku). gets() ti načte výstup jako String, ty však potřebuješ číslo, které získáš zavoláním metody to_i(), tedy:

mesic = roky.to_i / 12

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz