def main
(args
: Array
[String
]) { functionTakingFunction(TestObj1.testFunction _)
functionTakingFunction(TestObj2.testFunction)
}
def functionTakingFunction
(callback
: () => String
) { println(callback)
println("Call returns: " + callback())
}
}
def testFunction
= "Some text" }
def testFunction
() = "Some text" }
b2JqZWN0IE1haW4gewogIGRlZiBtYWluKGFyZ3M6IEFycmF5W1N0cmluZ10pIHsKICAgICAgZnVuY3Rpb25UYWtpbmdGdW5jdGlvbihUZXN0T2JqMS50ZXN0RnVuY3Rpb24gXykKICAgICAgZnVuY3Rpb25UYWtpbmdGdW5jdGlvbihUZXN0T2JqMi50ZXN0RnVuY3Rpb24pCiAgfSAKICAKICBkZWYgZnVuY3Rpb25UYWtpbmdGdW5jdGlvbihjYWxsYmFjazogKCkgPT4gU3RyaW5nKSB7CiAgICBwcmludGxuKGNhbGxiYWNrKQogICAgcHJpbnRsbigiQ2FsbCByZXR1cm5zOiAiICsgY2FsbGJhY2soKSkKICB9IAp9CgpvYmplY3QgVGVzdE9iajEgewogIGRlZiB0ZXN0RnVuY3Rpb24gPSAiU29tZSB0ZXh0Igp9CgpvYmplY3QgVGVzdE9iajIgewogIGRlZiB0ZXN0RnVuY3Rpb24oKSA9ICJTb21lIHRleHQiCn0=
aHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODMzODYzNi93aHktaW4tc2NhbGEtZnVuY3Rpb24tZGVmaW5lZC13aXRob3V0LWVtcHR5LXBhcmVudGhlc2VzLWRvZXNudC1iZWhhdmUtbGlrZS1mdW5j
http://stackoverflow.com/questions/18338636/why-in-scala-function-defined-without-empty-parentheses-doesnt-behave-like-func