Skip to content

Instantly share code, notes, and snippets.

@fogus
Last active February 10, 2022 19:11
Show Gist options
  • Save fogus/136998eaa6da9fe2012542f2ada94557 to your computer and use it in GitHub Desktop.
Save fogus/136998eaa6da9fe2012542f2ada94557 to your computer and use it in GitHub Desktop.
(import (java.lang.invoke MethodHandles
MethodHandles$Lookup
MethodType
MethodHandle))
(def ^MethodHandle abs-handle (.findStatic (MethodHandles/lookup)
Math
"abs"
(MethodType/methodType Long/TYPE Long/TYPE)))
(.invokeWithArguments abs-handle (object-array [-42]))
;;=> 42

JRuby

[-1, 2, -3, 4].map(&java.lang.Math.method(:abs))

Kotlin

fun main(args : Array<String>) {
    val numbers = listOf<Long>(-1, 2, 3)

    println(numbers.map({ java.lang.Math.abs(it) }))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment