shahryarjb
How to create a macro like def
Hello, I try to create a custom macro to implement some functions and structure I need in my project and my goal is to make a custom tools which is created by macro.
Please see my macro
delete_list_item(:roles, DeleteErrorComponent, false, do: fn x ->
IO.inspect(x)
end, before: fn x -> IO.inspect(x) end)
This Syntax is not good for me and I need a macro like this:
admin_ui delete_list_item(:roles, DeleteErrorComponent, false) do
call_function1
call_function2
call_function3
or a block code
before
call_function1
call_function2
call_function3
or a block code
end
My problems
- I couldn’t run all functions, then I use anonymous function.
- I couldn’t create a starter like
admin_uilikedef macro (def somthing) - I should write a comma to run
beforebut I need this like top code
I saw this link: elixir/lib/elixir/lib/kernel.ex at v1.12.3 · elixir-lang/elixir · GitHub
But I couldn’t understand all of them, I’m trying to figure out how elixir kernel did this
Thanks
Most Liked
al2o3cr
The keywords that introduce block-like constructs (do, after, else, rescue, catch) are special-cased in the tokenizer:
https://github.com/elixir-lang/elixir/blob/74bfab8ee271e53d24cb0012b5db1e2a931e0470/lib/elixir/src/elixir_tokenizer.erl#L1348-L1351
so adding additional ones like before in your example is impossible, short of modifying the language source.
1
Popular in Questions
Hi!
In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir?
Searched the docs for ip address and the web, no good results.
Thanks!
New
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set?
Thanks.
New
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
In templates/appointment/index.html.eex:
<%= for appointment <- @appointments do %>
<tr>
<td><%= appoi...
New
Hi All,
I set a environment variables in dev.exs , like below code.
when i start server, how can i set the ${enable} value?
thanks.
d...
New
I tried installing
elixir 1.11.2
erlang 23.3.4
via asdf in my zsh shell. Enabled the versions locally and globally.
When I list them ...
New
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
Other popular topics
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
If I have a post route which an argument:
post /my_post_route/:my_param1, MyController.my_post_handler
How would get the post params ...
New
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible.
total = 10
while total != 0
...
New
I have a phoenix application from which a user can download multiple(5-6) files of size 1MB. I couldn’t find anything related to sending ...
New
Hi All,
I set a environment variables in dev.exs , like below code.
when i start server, how can i set the ${enable} value?
thanks.
d...
New
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar.
I p...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #hex
- #security









