Nao000のぶろぐ

蝶を追っている少年になりたい

【Elixir】無名関数を呼ぶにはドットでつなげる

無名関数を呼ぶにはドットでつなげる

    defmodule Curry do
        def add(x,y) do
            x+y
        end

        def cadd(x) do
            fn y -> add(x,y) end
        end
    end
    /home/trial # iex curry.ex
    Erlang/OTP 21 [erts-10.3.5.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

    Interactive Elixir (1.8.1) - press Ctrl+C to exit (type h() ENTER for help)
    iex(1)> Curry.add
    add/2
    iex(1)> Curry.add(10,90)
    100
    iex(2)> crry = Curry.cadd(10)
    #Function<0.54427309/1 in Curry.cadd/1>
    iex(3)> crry.(90)
    100
    iex(4)>