Online Rust Compiler

Write, compile, run, and debug Rust code online in a full-featured browser IDE. Work with multiple files, save your workspace, and share or collaborate in real time.

Bibliotecas preinstaladas
🚀 252,702 ejecuciones totales (135 este mes)
Insertar
Salida

Practica Rust con desafíos de código

Resuelve problemas prácticos en este editor: ejecuta las pruebas de ejemplo, envía tu solución y recibe una revisión de código por IA.

Todos los desafíos de Rust
Fácil

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Aprenderás AritméticaValores de retorno
BeginnerLearning-pathVariables
Fácil

Distance Between Points

Compute the straight-line distance between two points.

Aprenderás Teorema de PitágorasRaíces cuadradas
BeginnerFunctionsLearning-pathmath
Fácil

Average of Three

Average three whole numbers.

Aprenderás AritméticaDivisión
BeginnerLearning-pathVariables
Fácil

Producto escalar de dos vectores

Multiplica dos vectores elemento a elemento y suma los resultados, la operación central de toda neurona.

Aprenderás VectoresProducto escalar
Redes neuronalesaiaprendizaje automático
Fácil

El mayor de tres

Elige el mayor de tres números sin usar una función máxima incorporada.

Aprenderás ComparacionesCombinar condiciones
BeginnerConditionsLearning-path
Fácil

Verificación de número primo

Determina si un número es primo.

Aprenderás DivisibilidadOptimizar bucles
BeginnerLoopsNumbersStudent-beginner
Fácil

Number Triangle

Build a triangle of increasing numbers.

Aprenderás Filas crecientesContador entre filas
BeginnerLearning-pathNested-loopsPatterns
Fácil

Número de Armstrong

Verifica si un número es igual a la suma de sus dígitos elevados a la cantidad de dígitos.

Aprenderás Extraer dígitosPotencias
BeginnerNumbersStudent-beginner
Fácil

Row Sums

Add up every row of a grid.

Aprenderás Listas 2DBucles anidados
BeginnerGridsLearning-path
Fácil

Min and Max Together

Find the smallest and largest value in one pass.

Aprenderás Una sola pasadaVarios valores de retorno
ArraysBeginnerFunctionsLearning-path
Fácil

Contar pares con una suma

Cuenta los pares de posiciones cuyos valores suman un objetivo dado.

Aprenderás Pares de índicesEvitar contar dos veces
ArraysBeginnerLearning-pathNested-loops
Fácil

Hollow Square

Draw the outline of a square with * characters.

Aprenderás Detectar bordesConstruir cadenas
BeginnerLearning-pathNested-loopsPatterns

🦀 Acerca de este ejecutor de Rust en línea

El CodeUtility Rust Executor te permite escribir y ejecutar código Rust directamente en tu navegador - sin instalación, configuración de la toolchain ni entorno local. Está impulsado por un sandbox seguro que admite versiones reales del compilador de Rust 1.70, 1.72, 1.73 y 1.74.

Esta herramienta compila y ejecuta tus programas de Rust en la nube usando un compilador rustc auténtico, garantizando resultados precisos y coherentes. Puedes experimentar con variables, ownership, borrowing, pattern matching, traits, genéricos y otras características modernas de Rust con facilidad.

Es ideal para aprender los conceptos clave de Rust - especialmente seguridad de memoria, manejo de errores y concurrencia - sin necesidad de instalar Cargo ni ninguna configuración local. Todo se ejecuta directamente en tu navegador en cuestión de segundos.

Más que un ejecutor de código

Utiliza un editor de varios archivos, un terminal de ejecución aislado, bibliotecas específicas del entorno, espacios de trabajo persistentes, opciones para compartir y colaboración en tiempo real desde el mismo ejecutor.

¿Cómo se utiliza este ejecutor?

Elige un entorno de ejecución, abre o crea un archivo, escribe el código y selecciona Ejecutar. El resultado aparece en el terminal; los usuarios que han iniciado sesión pueden conservar archivos en un espacio de trabajo, instalar bibliotecas y colaborar mediante elementos compartidos.

  1. Selecciona una versión y edita el archivo actual o abre otro archivo del espacio de trabajo.
  2. Ejecuta el código, introduce datos en el terminal cuando se soliciten y revisa el historial de ejecuciones guardado.
  3. Utiliza bibliotecas, herramientas del espacio de trabajo, opciones para compartir y el chat cuando la tarea requiera más de un fragmento.

💡 Conceptos básicos de Rust y ejemplos que puedes probar arriba

1. Declaración de variables y constantes

Usa let para declarar variables. Usa const para constantes y mut para variables mutables.

let x = 10;
let pi: f64 = 3.14;
let name = "Alice";
let is_active = true;

const MAX_USERS: u32 = 100;

2. Condicionales (if / match)

Rust usa if para condiciones y match para coincidencia de patrones.

let x = 2;
if x == 1 {
    println!("Uno");
} else if x == 2 {
    println!("Dos");
} else {
    println!("Otro");
}

match x {
    1 => println!("Uno"),
    2 => println!("Dos"),
    _ => println!("Otro"),
}

3. Bucles

Rust admite for, while y loop para bucles infinitos.

for i in 0..3 {
    println!("{}", i);
}

let mut n = 3;
while n > 0 {
    println!("{}", n);
    n -= 1;
}

4. Arrays

Los arrays de tamaño fijo en Rust usan corchetes. Usa slices como vistas.

let nums = [10, 20, 30];
println!("{}", nums[1]);

5. Vectores (arrays dinámicos)

Vec se usa para arrays dinámicos.

let mut fruits = vec!["apple", "banana"];
fruits.push("cherry");
fruits.pop();

for fruit in &fruits {
    println!("{}", fruit);
}

6. Entrada/Salida por consola

Usa println! para salida y std::io para entrada.

use std::io;

let mut name = String::new();
println!("Ingresa tu nombre:");
io::stdin().read_line(&mut name).unwrap();
println!("Hola, {}", name.trim());

7. Funciones

Las funciones usan fn y pueden devolver valores usando ->.

fn greet(name: &str) -> String {
    format!("Hola, {}", name)
}

println!("{}", greet("Alice"));

8. HashMaps

Usa std::collections::HashMap para datos clave-valor.

use std::collections::HashMap;

let mut person = HashMap::new();
person.insert("nombre", "Bob");
println!("{}", person["nombre"])

9. Manejo de errores

Rust maneja los errores usando Result y match o unwrap().

fn fail() -> Result<(), String> {
    Err("Algo salió mal".to_string())
}

match fail() {
    Ok(_) => println!("Éxito"),
    Err(e) => println!("{}", e),
}

10. E/S de archivos

Usa std::fs para leer y escribir archivos.

use std::fs;

fs::write("file.txt", "Hola archivo").unwrap();
let content = fs::read_to_string("file.txt").unwrap();
println!("{}", content);

11. Manipulación de cadenas

Las cadenas en Rust se asignan en el heap y admiten muchos métodos.

let mut text = String::from(" Hola Rust ");
println!("{}", text.trim());
println!("{}", text.to_uppercase());
text = text.replace("Hola", "Hola");
println!("{}", text);

12. Structs y métodos

Rust usa struct para tipos de datos e impl para métodos.

struct Person {
    name: String,
}

impl Person {
    fn greet(&self) -> String {
        format!("Hola, soy {}", self.name)
    }
}

let p = Person { name: "Alice".to_string() };
println!("{}", p.greet());

13. Referencias y préstamo

Rust usa & para tomar prestados valores y &mut para referencias mutables.

fn update(x: &mut i32) {
    *x += 1;
}

let mut value = 10;
update(&mut value);
println!("{}", value);