Compilación de funciones condicionales en Rust

RustRustBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, tenemos un fragmento de código que incluye una función llamada conditional_function(), pero solo se compilará y ejecutará si una condición personalizada llamada some_condition se pasa a rustc utilizando la bandera --cfg.

Nota: Si el laboratorio no especifica un nombre de archivo, puede usar cualquier nombre de archivo que desee. Por ejemplo, puede usar main.rs, compilar y ejecutarlo con rustc main.rs &&./main.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL rust(("Rust")) -.-> rust/FunctionsandClosuresGroup(["Functions and Closures"]) rust/FunctionsandClosuresGroup -.-> rust/function_syntax("Function Syntax") rust/FunctionsandClosuresGroup -.-> rust/expressions_statements("Expressions and Statements") subgraph Lab Skills rust/function_syntax -.-> lab-99343{{"Compilación de funciones condicionales en Rust"}} rust/expressions_statements -.-> lab-99343{{"Compilación de funciones condicionales en Rust"}} end

Personalizado

Algunas condiciones, como target_os, se proporcionan implícitamente por rustc, pero las condiciones personalizadas deben pasarse a rustc utilizando la bandera --cfg.

#[cfg(some_condition)]
fn conditional_function() {
    println!("condition met!");
}

fn main() {
    conditional_function();
}

Intenta ejecutar esto para ver qué pasa sin la bandera cfg personalizada.

Con la bandera cfg personalizada:

$ rustc --cfg some_condition custom.rs && ./custom
condition met!

Resumen

¡Felicidades! Has completado el laboratorio Personalizado. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.