File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change @@ -1317,6 +1317,45 @@ defmodule Kernel do
13171317 """
13181318 defmacro defp ( name , args , guards , do: contents )
13191319
1320+ @ doc """
1321+ Defines a macro with the given name and contents.
1322+
1323+ ## Examples
1324+
1325+ defmodule MyLogic do
1326+ defmacro unless(expr, opts) do
1327+ quote do
1328+ if !unquote(expr), unquote(opts)
1329+ end
1330+ end
1331+ end
1332+
1333+ require MyLogic
1334+ MyLogic.unless false do
1335+ IO.puts "It works"
1336+ end
1337+
1338+ """
1339+ defmacro defmacro ( name , do: contents )
1340+
1341+ @ doc """
1342+ The same as `def/4` but generates a macro.
1343+ """
1344+ defmacro defmacro ( name , args , guards , do: contents )
1345+
1346+ @ doc """
1347+ Defines a macro that is private. Private macros
1348+ can only be accessible from the same module it is defined.
1349+
1350+ Check `defmacro/2` for more information
1351+ """
1352+ defmacro defmacrop ( name , do: contents )
1353+
1354+ @ doc """
1355+ The same as `def/4` but generates a private macro.
1356+ """
1357+ defmacro defmacrop ( name , args , guards , do: contents )
1358+
13201359 @doc % B """
13211360 Defines a record.
13221361
You can’t perform that action at this time.
0 commit comments