Flashcard FC624916
Como o mecanismo de macro do SAS trata operações aritméticas em %let quando parte da expressão está fora de %eval?
Estatística Computacional
CESGRANRIO · 2014
Como o mecanismo de macro do SAS trata operações aritméticas em %let quando parte da expressão está fora de %eval?
Mostrar resposta e comentário
Resposta
O mecanismo de macro faz substituição textual, %eval avalia apenas o que estiver dentro dele, portanto se parte da operação ficar fora haverá concatenação de texto.
Exemplo
Errado (concatena texto):
%let x=5;
%let i=3;
%let x=&x + %eval(&i);
Log resultante: x=5 + 3
Correto (avalia a expressão inteira):
%let x=5;
%let i=3;
%let x=%eval(&x + &i);
Log resultante: x=8
Cálculo: \(5 + 3 = 8\)
Exemplo
Errado (concatena texto):
%let x=5;
%let i=3;
%let x=&x + %eval(&i);
Log resultante: x=5 + 3
Correto (avalia a expressão inteira):
%let x=5;
%let i=3;
%let x=%eval(&x + &i);
Log resultante: x=8
Cálculo: \(5 + 3 = 8\)
Veja como foi cobrado:
https://flashcardsconcursos.com.br/portal/flashcard/624257
Conteúdo do catálogo FC Concursos · Atualizado em