Rust

Macros

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

20 perguntas de entrevista·
Mid-Level
1

Qual é a sintaxe usada para definir uma macro declarativa em Rust?

Resposta

A sintaxe macro_rules! é usada para definir macros declarativas em Rust. Essa forma de metaprogramação usa pattern matching sobre a sintaxe Rust para transformar código em tempo de compilação. As macros declarativas também são chamadas de "macros by example" porque funcionam fazendo match de padrões e produzindo código baseado nesses padrões.

2

Como invocar uma macro em Rust?

Resposta

As macros em Rust são invocadas com um ponto de exclamação após o nome, seguido dos argumentos entre parênteses, colchetes ou chaves. Essa convenção permite distinguir visualmente as chamadas de macros das chamadas de funções normais. Por exemplo, println!("Hello") ou vec![1, 2, 3] são invocações de macros.

3

Qual fragment specifier usar para capturar uma expressão em uma macro declarativa?

Resposta

O fragment specifier $e:expr captura uma expressão Rust em uma macro declarativa. Os fragment specifiers definem o tipo de sintaxe que a macro pode aceitar. Outros specifiers comuns incluem ident para identificadores, ty para tipos, tt para um token tree e block para um bloco de código.

4

Qual é a diferença principal entre macros declarativas e procedurais?

5

O que é a higiene de macros em Rust?

+17 perguntas de entrevista

Domine Rust para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis