← Documentación

Scratchpad · Gratis

Escribe y ejecuta Rust en segundos

Scratchpad es el modo gratis: un solo archivo .rs, la biblioteca std y un set curado de crates estándar, con compilación y ejecución completas en tu iPad. Sin Cargo.toml, sin gestión de paquetes — solo escribe y pulsa Run. Es la forma más rápida de probar una idea, y el mismo motor que impulsa los tutoriales interactivos «Aprende Rust».

Panorama

Para qué sirve Scratchpad

Scratchpad está pensado para el momento en que solo quieres probar algo: una característica del lenguaje, un algoritmo, un cálculo rápido, o un snippet que encontraste y quieres entender. No hay proyecto que configurar ni nada que instalar — el rustc real corre dentro de un sandbox wasm en tu dispositivo, así que obtienes errores de compilador de verdad, panics reales y salida real, no una aproximación.


El espacio de trabajo

El editor, Run y la consola

Un scratchpad son tres cosas apiladas: un editor arriba, un botón Run, y una consola debajo. Escribes en el editor, pulsas Run, y la salida —incluidos panics y todo lo que vaya a stderr— aparece en la consola de abajo. No hay nada más que gestionar: sin ajustes de build, sin terminal, sin archivos que guardar a mano.

Si emparejas un teclado físico con tu iPad, funcionan los atajos de edición habituales —seleccionar, copiar, pegar, deshacer y rehacer— y Run está a un toque en la barra de herramientas. El resultado es un ciclo lo bastante apretado para probar una idea en segundos y desecharla igual de rápido.


Primeros pasos

Tu primer programa

  1. Abre un scratchpad

    Abre Ferric y crea un nuevo scratchpad. Obtienes un archivo, main.rs, listo para editar — sin configurar ningún proyecto.

  2. Escribe Rust estándar

    Usa toda la biblioteca std y los crates curados que vienen incluidos. El resaltado de sintaxis y el autocompletado te ayudan mientras escribes.

  3. Pulsa Run

    Ferric compila con el rustc real y ejecuta tu programa. La salida —incluidos panics y stderr— aparece en la consola bajo el editor.

  4. Lee los errores, itera

    Los diagnósticos del compilador son los de verdad, con los mismos mensajes y sugerencias que verías en escritorio. Corrige, ejecuta de nuevo, repite.

main.rs — scratchpad
fn main() {
    let names = ["Fe", "C", "P"];
    for (i, n) in names.iter().enumerate() {
        println!("{i}: hola desde {n}");
    }
}
$ run
0: hola desde Fe
1: hola desde C
2: hola desde P

Un paso más

Más allá del hola mundo

Como tienes toda la biblioteca estándar, Scratchpad hace mucho más que imprimir texto. Iteradores, clausuras, coincidencia de patrones, genéricos, manejo de errores con Result — todo compila y corre igual que en cualquier otro lado. Aquí un ejemplo un poco mayor que pliega unos números y formatea el resultado.

main.rs — estadística
fn media(xs: &[f64]) -> Option<f64> {
    if xs.is_empty() { return None; }
    let suma: f64 = xs.iter().sum();
    Some(suma / xs.len() as f64)
}

fn main() {
    let datos = [12.0, 7.5, 9.0, 21.0, 4.5];
    match media(&datos) {
        Some(m) => println!("media = {m:.2}"),
        None    => println!("sin datos"),
    }
}
$ run
media = 10.80

Define tus propios tipos

Un scratchpad no se limita a funciones sueltas. Declara structs y enums, dales métodos con impl, deriva traits como Debug o Clone — es Rust normal, así que todo lo que el lenguaje permita en un solo archivo funciona aquí.

main.rs — struct + impl
#[derive(Debug)]
struct Contador { n: u32 }

impl Contador {
    fn nuevo() -> Self { Self { n: 0 } }
    fn sube(&mut self) { self.n += 1; }
}

fn main() {
    let mut c = Contador::nuevo();
    c.sube();
    c.sube();
    println!("{c:?}");
}
$ run
Contador { n: 2 }

Escribe un test

Los tests unitarios también funcionan. Anota una función con #[test] y usa assert_eq!; Ferric compila y ejecuta los tests en el dispositivo y reporta cuáles pasaron. Es una forma sin fricción de comprobar que entendiste un rincón del lenguaje.

main.rs — #[test]
fn doble(x: i32) -> i32 { x * 2 }

#[test]
fn doble_de_21() {
    assert_eq!(doble(21), 42);
}
$ run --test
corriendo 1 test
test doble_de_21 ... ok
resultado: ok. 1 pasó

Los panics también son reales

Cuando algo sale mal en tiempo de ejecución —un índice fuera de rango, un unwrap sobre None— obtienes el mensaje y la ubicación reales del panic en la consola, exactamente como en escritorio. Esa fidelidad es todo el punto: lo que aprendes aquí se traslada directo a un toolchain de Rust completo.


Crates

El set de crates curados

Más allá de std, un scratchpad incluye un set fijo y curado de crates estándar populares para que tareas comunes —aleatoriedad, iteración más rica, manejo del tiempo— no necesiten ninguna configuración. No hay paso de dependencias: los crates ya están ahí, listos para usarse en cuanto escribes un use. Este set viene elegido y empaquetado con la app; en Scratchpad no puedes añadir dependencias arbitrarias de crates.io.


Aprende Rust

Un curso entero, gratis

Scratchpad también impulsa «Aprende Rust», el curso interactivo incluido gratis en la app — más de 45 lecciones y 100 pasos que van de novato a experto, en español e inglés. Cada paso se compila y ejecuta con el rustc real de tu iPad, con pistas, solución y progreso guardado.


Alcance y límites

Scratchpad es un archivo y std más los crates incluidos — no hay Cargo.toml, y aquí no puedes añadir dependencias arbitrarias de crates.io. Cuando necesites crates externos o un proyecto multi-archivo, pasa a Pro.

Todo corre single-thread dentro del sandbox de WebKit, así que no hay hilos del sistema operativo ni acceso a red — es un sandbox limpio y sin conexión, a propósito.

Sigue

A dónde seguir

Ferric compila y ejecuta Rust por completo en tu iPad — sin nube, sin cuenta.