Jump to content

Call a function: Difference between revisions

Add Elixir
(Add Elixir)
Line 737:
# a function's arity is a property of its behavior and not
# of its definition</lang>
 
=={{header|Elixir}}==
 
<lang elixir>
# Anonymous function
 
foo = fn() ->
IO.puts("foo")
end
 
foo() #=> undefined function foo/0
foo.() #=> "foo"
 
# Using `def`
 
defmodule Foo do
def foo do
IO.puts("foo")
end
end
 
Foo.foo #=> "foo"
Foo.foo() #=> "foo"
 
 
# Calling a function with a fixed number of arguments
 
defmodule Foo do
def foo(x) do
IO.puts(x)
end
end
 
Foo.foo("foo") #=> "foo"
 
# Calling a function with a default argument
 
defmodule Foo do
def foo(x \\ "foo") do
IO.puts(x)
end
end
 
Foo.foo() #=> "foo"
Foo.foo("bar") #=> "bar"
 
# There is no such thing as a function with a variable number of arguments. So in Elixir, you'd call the function with a list
 
defmodule Foo do
def foo(args) when is_list(args) do
Enum.each(args, &(IO.puts(&1)))
end
end
 
# Calling a function with named arguments
 
defmodule Foo do
def foo([x: x]) do
IO.inspect(x)
end
end
</lang>
 
=={{header|Erlang}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.