Julia에서는 Lisp의 매크로와 비슷하게 매크로를 사용할 수 있다.
Metaprogramming · The Julia Language
:()로 quote하고, $로 unquote한다.
예제:
julia> :($1+1)
:(1 + 1)
julia> :($(1+1))
2
julia> macro aif(a,b,c) :(if $a; $b else $c end) end
@aif (macro with 1 method)
julia> @aif 1 2 3
ERROR: TypeError: non-boolean (Int64) used in boolean context
Stacktrace:
[1] top-level scope
@ REPL[6]:1
julia> @macroexpand @aif 1 2 3
:(if 1
#= REPL[5]:1 =#
2
else
#= REPL[5]:1 =#
3
end)
'Programming' 카테고리의 다른 글
Python to Julia Converter (codeconvert.ai) (0) | 2024.01.30 |
---|---|
(Julia) Zero-based indexing ... (not) again (0) | 2024.01.29 |
(Racket) Collatz (0) | 2024.01.09 |
백만 이하로 시작하는 우박수 중 가장 긴 과정을 거치는 것은? (0) | 2024.01.09 |
Common Lisp's BLOCK / RETURN-FROM and UNWIND-PROTECT (0) | 2024.01.09 |