MiniScript
MiniScript es un lingua de programi de nivel alta cual intende es peti e fasil per los ci comensa aprende la programi. Lo suporta modeles strutural, prosedal e ojetal (tra prototipos). Developa de MiniScript e sua distinguintes es inspirada par linguas Python, Lua, REALbasic e C#.[1]
Sua varia stable prima ia es publicida a 2017. La fonte ia deveni abrida a 2019.
La interpretador ofisial[2] es internable a otra programes (scriveda en C++ o C#) ma on pote ance usa lo como un esecutador interatante (REPL) o un esecutador de programetas. La sufisa ofisial de fixes de programes es .ms
.
On ave alga projetas nonofisial cual tradui MiniScript a otra plataformas e capasi lor usores a interna MiniScript a programes scriveda en Kotlin,[3] Java[4] e TypeScript.[5]
Datos
editaMiniScript ave un cuantia peti de tipos de datos esensal: numeros, cadenas, listas e asosias.
On ave ance funsionas per organiza la codigo en modo prosedal. Como en multe linguas moderna, la funsionas es “sitadanes de la clase prima”.
On ave un valua spesial null
sinifiante la asentia de cualce valua usosa. Lo parteni a sua propre tipo distinguida.
On pote crea tipos nova usante asosias como “prototipos”. La nomerias de funsionas e modulos es ance asosias.
Strutures de controla
editaMiniScript furni poca strutures de controla simple:
if
per eleje la ramo de esecutawhile
per sicles con un espresa elejentefor
per sicles iterante
Esemplos de programes
editaProgram vera simple cual primi “Alo mundo”:
print "Alo mundo!"
Program per calcula la fatoral:
// Calcula la fatoral de un intero positiva
fatoral = function(x)
if x < 2 then return 1
return x * fatoral(x - 1)
end function
print fatoral(input("Tape un numero, e sua fatoral va es primida: ").val)
Esemplo de labora con ojetos:
Forma = {}
Forma.lados = 0
Cuadro = new Forma
Cuadro.lados = 4
x = new Cuadro
print x.lados // primi: 4
Forma.grados = function()
return 180 * (self.lados - 2)
end function
print x.grados // primi: 360
Estende de la tipos fundal:
string.tituli = function()
if self.len < 2 then return self.upper
return self[0].upper + self[1:]
end function
print "miniScript".tituli // primi: MiniScript
Ospitadores
editaAlga ambientes cual interna o esposa MiniScript:
- Mini Micro[6] – un computador retromodosa fantasiada do MiniScript es sua lingua de programi e ance de linia de comandas.
- Farmtronics[7] – un modifia de la jua “Stardew Valley” en cual on pote oteni un computador de casa e robotes e programi los en MiniScript.
- Grey Hack[8] – un jua de imitador de codigor do MiniScript (remarcada a GreyScript) es usada como la lingua de programi de la computadores en la jua.
- Robo Reindeer Rumble[9] – un jua de programi multijuoral do juores programi robotes combatante (cual aspeta como renos) en MiniScript.
Projetas
editaAsi es alga projetas scriveda en MiniScript:
Lias esterna
edita- MiniScript – Paje prima
- MiniScript a Rosetta Code
Notas
edita- ↑ Esajo sur la comensa de MiniScript – https://luminaryapps.com/blog/miniscript-why/
- ↑ Reali ofisial de MiniScript – https://github.com/JoeStrout/miniscript
- ↑ Tradui a Kotlin – https://github.com/Arcnor/miniscript-kt
- ↑ Tradui a Java – https://github.com/heatseeker0/JavaMiniScript
- ↑ Tradui a TypeScript – https://github.com/sebnozzi/miniscript.ts
- ↑ Paje prima de Mini Micro – https://miniscript.org/MiniMicro/index.html
- ↑ Arciveria de Farmtronics – https://github.com/JoeStrout/Farmtronics
- ↑ Paje de Grey Hack en la boteca Steam – https://store.steampowered.com/app/605230/Grey_Hack/
- ↑ Paje de jua Robo Reindeer Rumble – https://miniscript.org/RoboReindeer/
- ↑ Paje de Inversion Institute en la boteca Steam – https://store.steampowered.com/app/2145480/Inversion_Institute/
- ↑ Arciveria de Mini Micro Sokoban – https://github.com/sebnozzi/minimicro-sokoban
- ↑ Arciveria de World Conquest – https://github.com/JoeStrout/worldConquest
- ↑ Arciveria de µ-hack – https://github.com/treytomes/micro-hack