EDIT : Pour accéder à la documentation présente dans ce topic rapidement, veuillez suivre ce lien :
http://wiki.inspired-lua.org/Main_Page
Bonsoir tout le monde,
Je crée ce topic pour mettre un peu tout et n'importe quoi que j'ai compris du nouveau (ou caché) langage script que l'OS 3.0 fait émerger avec le Tableau Périodique.
http://tibank.forumactif.com/t6858p15-u ... ec-l-os-30
Une fois donc le fichier Problem1.xml extrait, on remarque que la syntaxe est exactement la même que décrite ici :
http://tibank.forumactif.com/t4905-tuto ... ichier-tns
A un détail près : L'application s'appelle TI.ScriptApp.
La ligne servant à l’appeler est donc :
- Code: Tout sélectionner
wdgt xmlns:sc="urn:TI.ScriptApp" type="TI.ScriptApp" ver="1.0" /wdgt
Entre les balises on retrouve un langage script orienté objet tout en corrélation avec l'OS, une sorte d'API très évoluée.
Un aperçu :
a = 1
b = 2 -- ceci est un commentaire
-- L'intervention de l'API
beta = string.uchar(0x3b2) -- Symbole Beta
-- Structure d'une fonction
function toto(maman)
return maman+1
end
-- Fonctions anonymes
function tataSuper(papa)
return function(papa) return papa + 2 end
end
Table = {
{i = 1, j = 2, papa = "Adam", maman = "Eve"},
{i = 2, j = 1, papa = "Ivan", maman = "Eude"}
}
function fact(x)
if x == 1
return 1
else
return fact(x-1) * x
end
end
function StockerUnNombreDansLeClasseur(varname, value)
math.eval("Unlock " .. varname) -- Concaténation de chaines avec ..
var.store(varname, value)
math.eval("Lock " .. varname) -- Remarquez que math.eval() expr()
end
---------------- L'intervention de l'objet+API
-- On va faire une classe abstraite et une classe héritée de celle-ci
Humain = class()
function Humain:faireLaCuisine(ingredients)
-- Définie plus tard
end
function Humain:manger(gc) -- gc = Graphic Component
-- Définie plus tard
end
Homme = class(Humain) -- Classe héritée de Humain
function Homme:faireLaCuisine(ingredient)
return ingredient[1]; -- Base 1
end
function Homme:mange(gc)
x = 1
y = 2
w = 5
h = 5
gc:setFont("sansserif", "r", self.titleFontSize)
gc:setColorRGB( .... ) -- unknown color format
gc:setPen("medium", "smooth")
gc:drawRect(selft.x, selft.y, selft.w, selft.h)
end
--- etc ...
Remarque de dernier minute ... le langage est en fait ....
accrochez vous bien ...
du LUA !!
En fait, c'est en voulant montrer un exemple de boucle for que j'ai essayé de comprendre les commandes pairs() et ipairs() que je n'avais jamais vue.
Un coup de google m'a redirigé vers des docs de LUA ...
En fouinant un peu, j'ai constaté que c'est exactement la même syntaxe.
Donc à vos bouquins de Lua...
Voilà la page qui expliquait pairs() et ipairs() pour les impatients :
http://www.wellho.net/resources/ex.php4?item=u105/tat