Edit

kc3-lang/kc3/test/ikc3/fn.kc3

Branch :

  • test/ikc3/fn.kc3
  • quote fn (x) { x }
    quote fn (x, _y) { x }
    quote fn ([x | _y]) { x }
    quote fn {
      ([]) { :error }
      ([x | _y]) { x }
      (_) { :error }
    }
    quote fn (x) do
      "Hello, world !"
      x * 2
    end
    a = fn (x) { x }
    a(1)
    b = fn (x, _y) { x }
    b(1, 2)
    c = fn ([x | _y]) { x }
    c([1, 2])
    d = fn {
      ([]) { :error }
      ([x | _y]) { x }
      (_) { :error2 }
    }
    d([1, 2])
    e = fn (x) do
      "Hello, world !"
      x * 2
    end
    e(2)
    quote do
      f = fn (x) do
        puts("Hello, world !")
        x * 2
      end
      f(2)
    end
    do
      f = fn (x) do
        puts("Hello, world !")
        x * 2
      end
      f(2)
    end
    quote f = fn (x) { fn (y) { x * y } }
    f = fn (x) { fn (y) { x * y } }
    quote g = f(2)
    g = f(2)
    quote g(3)
    g(3)