- TODOS LOS EJEMPLOS SE PUEDEN COPAR Y PEGAL PARA EJECUTARLOS DIETUTAMESE!
Игровая площадка Para Particar Tene El Navegador Web.
Instalar En La ComputaDora.
эхо
Сарве Para Imprimir Por La Terminal Los Argageos
echo "Hola Mundo"
Otro ejemplo
echo 1, true, 2.0, "OwO", false, -9, 0
Los Comentarios SON TESKO INGRODORADO POR EL PROMPORTA, ES DECIR EL TEAKEO EN Comentario No Sizee Para La Commentadora, USAUSUMENTEE SE USA PARA DECUSTIONAR EL CODIGO PARA QUE LAS человек Lo PuEnan entender mejor.
Comentario es una linea que empieza con #
.
# Esto es un comentario echo "Hola" , " ", "Mundo" # Otro comentario
Утверждать
Covueba Que El Aurgino Evalua Verdadero.
это
Sirve Para Comprobarar El Tipo de Algo, SE USA DE LA FORMA доблесть Tipo
Отказ
assert 42 is int assert 3.14 is float assert true is bool assert "x" is string assert 'z' is char
Переменные LAS SE TEANAN CON вар
, Пусть
, const
Отказ
var nombre = "valor"
Mas Ejemplos:
var a = 42 var b = "Para no repetir tanto el 'var' " c = "podes agrupar las variables asi" d = true let e = 666 + 420 * 42
Нет | вар | Si. | Нет | Нет |
Si. | позволять | Si. | Si. | Нет |
Si. | конститут | Нет | Si. | Si. |
Дивизион Entera США El Operador девочка
Modulo USA EL Operador мод
echo 1 + 2 echo 2 - 1 echo 2 * 2 echo 4 / 2 echo 4 div 2 echo 4 mod 2
Науэдит Usar Numeros Binarios, шестнадцатеричные моменты, окталеты и т. Д.
echo 0b1100 # Binario echo 0xFFFF # Hexadecimal echo 0o777 # Octal # _ es ignorado, es util para numeros grandes echo 2_000_000 # Se comprobara que este numero siempre sea Positivo. echo 0.Positive # >= 0 # Se comprobara que este numero siempre sea Natural. echo 1.Natural # > 0
Control de frujo con blwes Если ELIF еще
if 9 > 0: echo "Ejemplo"
var condicional = true if condicional: echo 42 else: echo 0
ООН Если ELIF еще ru ru una linea es en “Operador Ternario”
var condicional = true if condicional: echo 42 else: echo 0
Mas ejemplos
var valor = 5 if valor == 0: echo "valor es cero" if valor < 0: echo "valor es negativo" else: echo "valor es positivo"
Case Switch ES похож на ООН, если ELIF еще Pero Funciona Distinto. Tambien Puede Teaner Un еще:
var valor = "gato" case valor of "perro": echo "valor es perro" of "gato", "gatito": echo "valor es gato" else: echo "valor es otro animal"
Case Switch Puede Conicidir Con Multiply Perdiciones 1, 2, 3, 4, 5:
El Ejemplo de abajo.
Переключатель Case Puede Usar Элиф
COMO SE HUSDA ABAJO.
var valor = 42 case valor of 0: echo "valor es cero" of 1, 2, 3, 4, 5: echo "valor esta entre 0 y 5" of 6..9: echo "valor esta entre 6 y 9" elif valor < 0: echo "valor es negativo" else: echo "valor es otro numero"
Blwees de codigo con un nuevo contexto (область применения) SE CREAN CON блокировать
let ejemplo = "Afuera del block" block: let ejemplo = "Adentro del block" echo ejemplo echo ejemplo
Tambien Puede Usarse Para Evaluar Codigo ООН доблесть
let valor = block: let a = 1 let b = 2 a + b assert valor == 3
Blwees PueDen Tener un Nombre Etiqueta.
Se jude salir explicatamente de un bloque usando ломать
echo "Afuera del block" block el_bloque_loco: echo "Adentro del block" break el_bloque_loco echo "Afuera del block"
Эль-Букл для
Сарве Para Iterar ООН доблесть, PARA Applicar Algun Tipo de logica a Los Thents Индивидуальный.
для
Se judede Interrumpir Con Перерыв
Tambien.
for i in 5..9: echo i if i == 7: break
Otro ejemplo
for item in [1, 2, 3, 4, 5, 6]: if item mod 2 == 0: echo "item es par" else: echo "item es impar"
Эль-Букл в то время как
es Похожие al для
, Перо Сарве Para Repetir Bloque de Codigo, Siempre Y Cuando OU Argento de Condicion Booleana Sea Verdadera.
в то время как
Se judede Interrumpir Con Перерыв
Tambien.
var z = 0 while z < 9: echo z inc z
readfile
Сарве Para Leer Archivos.
WeightFile
Сарве Para Escribir Archivos.
writeFile("/tmp/ejemplo.txt", "Los datos van aca.") var contenido = readFile("/tmp/ejemplo.txt") echo contenido
Генс
Сирве Para Leer Primations De Entorno.
Путенв
SIRVE PARA ESCRIBIR Primations de Entorno.
import os putEnv("EXAMPLE", "value") echo getEnv("EXAMPLE")
Proc
DECKARA UNA NUEVA FUNCION, Los Argageos Llevan Su Tipo Y El Tipo de Retorno Va Al Final.
proc nombre(argumento0: int, argumento1: int): int = argumento0 + argumento1
Tambien SE Puede Escribir Enna Linea
proc nombre(argumento0: int, argumento1: int): int = argumento0 + argumento1
Джее Нет реторна Ningun Tipo
proc nombre(argumento0: int, argumento1: int) = echo argumento0 + argumento1
Peede no tomar ningun puranto
proc nombre(): int = return 42
Una Funcion Sin Nombre Es Una Funcion Anonima
proc (argumento0: float): float = argumento0 + 1.0
Mas ejemplos
proc saludar() = echo "Hola Mundo"
Funcion que Retorna Mouseas Cosas Juntas
proc retornaMuchasCosas(): auto = result = (clave0: 9, clave1: true, clave2: "texto")
Funcion Flecha (функции стрелки) ESTA EN El Modulo de Azucar
Импорт
Importa Modulos de la libreseria estandard, o de terceros.
import sugar let saludar = (argumento: int) => echo "Hola ", argumento
Otro Ejemplo, Перо грех аргумент
import sugar let saludar = () => echo "ejemplo"
Функция стрелки много- линьена
import sugar let ejemplo = (c: int) => ( let a = 1 let b = 2 a + b + c) assert ejemplo(42) == 45
PARA DARLE MAS ETTRUCTURA PUEDES CREAR FUNCION GUNCION Главная
, No Es Onblatorio, Перо ES ReComendado.
Когда
ООН Если
Pero que se evalua durante la compilacion.
Исмаинмодуль
es правда
CuAndo Es El Modulo Основная Que Se Esta Ejecutando.
proc main() = echo "Hola Mundo" when isMainModule: main()
Programa de Conversion de Escalas de Temperatura
proc main(celsius: int) = let kelvin = celsius + 273 let fahrenheit = float(celsius) * 1.8 + 32.0 echo "Temperatura Celsius: ", celsius echo "Temperatura Fahrenheit: ", fahrenheit echo "Temperatura Kelvin: ", kelvin when isMainModule: main(celsius = 22)
Base64
Sirve Para Conventer Base64.
import base64 let datos = encode("Hello World") assert datos == "SGVsbG8gV29ybGQ="
браузеры
Сарве Para abrir una direccion web en el navegador web.
import browsers openDefaultBrowser("https://nim-lang.org")
алгоритм
Contiene Algoritmos Comunes, Como Ser La Busqueda Binaria.
import algorithm assert binarySearch([0, 1, 2, 3, 4], 4) == 4 assert binarySearch([0, 1, 2, 3, 4], 2) == 2
Json.
JSON
Tiene Todo Lo Necesario Para Manipular Datos Json.
JSON SE ESCRIBE Lвраль En el Codigo, Эль Оперид % *
SE Encarga de “entender” El Json.
import json let datos = %*{ "clave": "valor", "otro": 42, "ultimo": 2.5 } assert datos is JsonNode echo datos.pretty writeFile("/tmp/ejemplo.json", datos.pretty) echo parseFile("/tmp/ejemplo.json")
editdistance
Реализация La Distancia De Levenshtein.
import std/editdistance assert editdistance("Gatito", "Patito") == 1
Случайные
Реализация Regive DE Numeros Al Azar Y Utilidades de Random.
import random randomize() let num = rand(99) # Numero al azar entre 0 y 99 assert num in 0..99 let colores = ["rojo", "verde", "azul"] let alazar = sample(colores) assert alazar in colores
httpclient
Tiene un Cliente http.
import httpclient var cliente = newHttpClient() echo cliente.getContent("http://nim-lang.org")
Puedes Crag TUS пропионов Типос Усандо Тип
Отказ
Los Nombres de los Thetos Deben Usar Siempre La Primer Letra En MayusCula.
ESTE ES ES TIPO Vacio Sin Ningun Atributo
type Nombre = object
Este Tipo Tiene Atributos
type Nombre = object atributo: string # Atributo de tipo string otro: int # Atributo de tipo int
Tambien SE Puede Agrupar Tipos en Bloque On тип
type TipoVacio = object Nombre = object atributo: string # Atributo de tipo string otro: int # Atributo de tipo int Otro = object foo: bool # Atributo de tipo bool
ООН Tipo Puede Heredar de Otro Tipo Usando объект
TODOS LOS TIPOS HEREDAN DE ООН TIPO RAIZ, Que es la madre de todos los tipos, Эль ОбъЕТО РУЗ ЭС Rootobj
Отказ
En Este Ejemplo Гатито
Hereda de Животное
, СУ ВЕЗ Животное
Hereda de Rootobj
Отказ
type Animal = ref object of RootObj Gatito = ref object of Animal
PARA Tener Funcionalidades en los objetos se ouchede darle funciones, SE LE OTORGAN FUNCALIDIDAD USANDO Я: objeto
, Я: objeto
Siempre Debe Ser El Primer ArugeO.
type Animal = ref object of RootObj Gatito = ref object of Animal proc miau(self: Gatito) = echo "Miau Miau" let gato = Gatito() gato.miau()
PARA DARLE Valores POR DEFECTO LOS ATRIBUTOS DE ALGUN TIPO SE PUEDE USAR ООН Конструктор ООН, Конструктор ООН ES Simplemente Una Funcion Que Retorna El Tipo.
POR Condencion Usualmentede SE NOMBRA AL CONDORDOR COMO “NEW + TIPO” O “init + Tipo”, es decir. пункт Эль Тип Гатито
Deberia Ser newgatito ()
О initgatito ()
type Animal = ref object of RootObj Gatito = ref object of Animal edad: int nombre: string proc newGatito(edad: int, nombre: string): Gatito = Gatito(edad: edad, nombre: nombre) proc miau(self: Gatito) = echo "Miau Miau" let gato = newGatito(edad: 2, nombre: "Bastet") assert gato.edad == 2 assert gato.nombre == "Bastet" gato.miau()
Volvamos a Darle Mas estructura de programa
type Animal = ref object of RootObj Gatito = ref object of Animal edad: int nombre: string proc newGatito(edad: int, nombre: string): Gatito = Gatito(edad: edad, nombre: nombre) proc miau(self: Gatito) = echo "Miau Miau" proc main(edad: int, nombre: string) = let gato = newGatito(edad: edad, nombre: nombre) assert gato.edad == 2 assert gato.nombre == "Bastet" gato.miau() when isMainModule: main(edad = 2, nombre = "Bastet")
COLECIONES SIRVEN PARA AGRUPAR Valores Doctro de un Mismo Contendedor.
Нет Veremos CADA UNA EN DESTALLE POR QUE ESO YA ES PARTE DE LA LIBERERIA ESTANDARD, PERO AQUI ESTA ESTA RESUMEN RESTOMEN RAIDO DE LOS CONTENDENES:
Гомогенео | 0 | Si. | Эстатика | Эстатика | множество |
Гомогенео | Доблесть | Нет | Динамика | Динамика | набор |
Гомогенео | 0 | Si. | Динамика | Динамика | осевать |
Гомогенео | Клав | Нет | Динамика | Динамика | табла |
Гетерогенео | 0 / клав | Si. | Эстатика | Эстатика | тупла |
Гетерогенео | Клав | Нет | Динамика | Динамика | Json. |
Гомогенео | Клав | Нет | Динамика | Динамика | BTRES. |
Гомогенео | Клав | Нет | Динамика | Динамика | Critbits. |
- Si Necesitas Una lista США
Seq
Отказ - Si Necesitas un diccionario Mapeado USA
Таблица
Отказ - Si Necesitas Tipos Mezclados США
JSON
Отказ - Si Necesitas Retornar Muchos Valores de Una Funcion США
кортеж
Отказ
Существуют Мас, содержащие Перо Эсс Сын Лос Мас Комуны.
Tisten Mas Contenedes En Paquees de Terceros.
ООН Сердитор НЕТ ES MAS QUE UN TIPO, PUEDES CREAR TUS пропионов консервации Personalizados.
Puede Correr El Codigo En el Navegador Web, Hay Modulos En La Librisia Estandard Orientados A La Web.
Los Modulos Que Solo Funcionan Para JavaScript, Су NOMBRE Comienza Con “JS”, POR EJEMPLO jsfetch , jsre , jsbigints и т. Д. И т. Д.
Tambien Puede Correr El Codigo En Nodejs, Con Paquees de Terceros.
… y en custquier contexto que tenga un интерпретировать de javascript.
- PAGINA DE LA LIBERERIA ESTANDAR.
- Ручной de usuario.
- Indice de Documentacion de la libreria estándar.
- Indice de Documentacion de Las Extensiones de stdlib.
- Гуя ДЕТАЛЛАДА PARA DESARROLLADORES PYTHON.
- Гуя ДЕТАЛЛАДА PARA DESARROLLADORES THEMPLECTS.
👑
Оригинал: “https://dev.to/juancarlospaco/aprende-a-programar-con-nim-10nd”