Escribe Antril, ejecútalo en tu navegador y compártelo con un enlace. Los programas se compilan a WebAssembly y se ejecutan en tu equipo, no en el servidor.
Ejecutar programas no está disponible en este momento: the WebAssembly linker (wasm-ld, part of LLVM) is not installed on this server. Aún puedes escribir, compartir y descargar código.
importSystem;
publicvalueN
{
public:
i64X;
new(i64X);
op +(N a, N b) : N => newN(a.X + b.X);
op *(N a, N b) : N => newN(a.X * b.X);
op ^^(N a, N b) : Nprecedence(PrecedenceLevel.Power) associativity(Associativity.Right)
{
i64 r = 1;
loop (i64 i = 0..b.X)
r = r * a.X;
returnnewN(r);
}
op <=>(N a, N b) : i32precedence(PrecedenceLevel.Relational) associativity(Associativity.None)
=> a.X < b.X ? -1 : a.X > b.X ? 1 : 0;
op <*>(N a, N b) : Nprecedence(135) => newN(a.X * 100 + b.X);
}
Main()
{
N two = newN(2);
N three = newN(3);
Console.WriteLine((two ^^ three ^^ two).X);
Console.WriteLine(two <=> three);
Console.WriteLine((two + two <*> two * three).X);
}
Salida
Pulsa Ejecutar (o Ctrl+Enter) para compilar y ejecutar el programa.
Entrada
Lo que lee Console.ReadLine(), una línea a la vez.
Ctrl+Enter ejecuta. Tab agrega sangría (Shift+Tab la quita); pulsa Esc y luego Tab para salir del editor. Un programa puede ejecutarse durante 10 segundos.