Rust

Macros

Macros declarativas (macro_rules!), macros derive, macros de atributo, macros procedurales, higiene de macros

20 preguntas de entrevista·
Mid-Level
1

¿Cuál es la sintaxis utilizada para definir una macro declarativa en Rust?

Respuesta

La sintaxis macro_rules! se utiliza para definir macros declarativas en Rust. Esta forma de metaprogramación usa pattern matching sobre la sintaxis de Rust para transformar código en tiempo de compilación. Las macros declarativas también se llaman "macros by example" porque funcionan haciendo match de patrones y produciendo código basado en esos patrones.

2

¿Cómo invocar una macro en Rust?

Respuesta

Las macros en Rust se invocan con un signo de exclamación después de su nombre, seguido de los argumentos entre paréntesis, corchetes o llaves. Esta convención permite distinguir visualmente las llamadas a macros de las llamadas a funciones normales. Por ejemplo, println!("Hello") o vec![1, 2, 3] son invocaciones de macros.

3

¿Qué fragment specifier usar para capturar una expresión en una macro declarativa?

Respuesta

El fragment specifier $e:expr captura una expresión Rust en una macro declarativa. Los fragment specifiers definen el tipo de sintaxis que la macro puede aceptar. Otros specifiers comunes incluyen ident para identificadores, ty para tipos, tt para un token tree y block para un bloque de código.

4

¿Cuál es la diferencia principal entre las macros declarativas y procedurales?

5

¿Qué es la higiene de macros en Rust?

+17 preguntas de entrevista

Domina Rust para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis