17. Faktoriál - první funkce v CombiScriptu

Ilustrační obrázek k článku: Faktoriál - první funkce v CombiScriptu
Jako první funkci v CombiScriptu si naprogramujeme klasický faktoriál. Použijeme rekurzi a ukážeme si, jak může jeden kód fungovat v JS i PHP zároveň.

Jako první zkusím tuto funkci napsat v obou jazycích a porovnat


Nejprve si zkusíme napsat funkci faktoriál v Javascriptu:
  1. function my_fact(n)
  2. {
  3. if (n<=1) return 1;
  4. return n*my_fact(n-1);
  5. }

A potom v PHP:
  1. function my_fact($n)
  2. {
  3. if ($n<=1) return 1;
  4. return $n*my_fact($n-1);
  5. }

Vidíme, že obě fuknce jsou téměř totožné a obsahují stejná klíčová slova. Z toho hned vyvodíme první definice týkající se CombiScriptu:

V CombiScriptu můžeme používat klíčová slova: function, return, if

Ovšem rozdíl je v tom, že proměnná n je v PHP uvozena znakem dolar. Co s tím?

Pokud znáte třeba jQuery, víte, že to není problém. Znak dolar může být v Javascriptu normálně součástí názvu proměnné. Dokonce se v JQuery může název proměnné skládat jen z něj. V definice jazyka se o možnosti znaku dolar v názvu proměnné píše zde. Takže:

  1. function my_fact($n)
  2. {
  3. if ($n<=1) return 1;
  4. return $n*my_fact($n-1);
  5. }

je kód který bude fungovat jak v JS tak v PHP.

Z předchozího si můžeme vyvodit další pravidla CombiScriptu:

Proměnné CombiScriptu začínají znakem $

A na závěr uvedu ještě jedno pravidlo. V javascriptu jednotlivé příkazy nemusí být odděleny středníkem jestliže jsou odděleny koncem řádky. V PHP musí být středníkem odděleny všechny příkazy. A pro CombiScript, který má běžet v obou jazycích platí samozřejmě ta přísnější varianta.

K oddělení příkazů musíme používat středník

V příštím díle začneme tuto funkci ukládat do knihovny, kterou budeme vkládat jak JS tak do PHP. Tj. rozhodneme se jakou ji dát extenzi, aby šla vložit. Zatím můžete přemýšlet, jakou zvolit.

Co jsme si ukázali?

Faktoriál je ideální první funkcí – krátký, přehledný a zároveň ukazuje podstatné věci: rekurzi, práci s proměnnou, základní klíčová slova. Viděli jsme, že jednoduchý CombiScriptový kód může bez úprav fungovat v obou jazycích. A to je skvělý začátek.

Zatím je to snadné. Ale to nejzajímavější nás teprve čeká.

Předchozí