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;
publicbaseclassShape { }
publicclassCircle : Shape
{
public:
f64Radius;
new(f64Radius);
}
publicclassRect : Shape
{
public:
f64W;
f64H;
new(f64W, f64H);
}
Describe(Shape s) : str => s switch
{
Circle c when c.Radius > 10 => "a big circle",
Circle c => "a circle of radius " + c.Radius,
Rect { W: 0 } orRect { H: 0 } => "a flat rectangle",
Rect r => "a rectangle " + r.W + "x" + r.H,
_ => "something else",
};
Main()
{
Console.WriteLine(Describe(newCircle(20)));
Console.WriteLine(Describe(newCircle(2)));
Console.WriteLine(Describe(newRect(0, 4)));
Console.WriteLine(Describe(newRect(2, 3)));
}
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.