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
1317
1317
"""
1318
1318
defmacro defp ( name , args , guards , do: contents )
1319
1319
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
+
1320
1359
@doc % B """
1321
1360
Defines a record.
1322
1361
You can’t perform that action at this time.
0 commit comments