ฟังก์ชั่นที่ไม่ระบุชื่อสกาล่า
Scala ฟังก์ชั่นที่ไม่ระบุชื่อที่กำหนดไว้ในไวยากรณ์ง่ายมากลูกศรด้านซ้ายคือรายการพารามิเตอร์ที่เหมาะสมเป็นร่างกายของฟังก์ชันพารามิเตอร์ชนิดถูกละไว้ Scala ของอนุมานชนิดจะสรุปข้อโต้แย้งประเภท หลังจากการใช้งานฟังก์ชั่นที่ไม่ระบุชื่อรหัสของเรากระชับมากขึ้น
นิพจน์ต่อไปนี้กำหนดยอมรับการป้อนค่าพารามิเตอร์ของฟังก์ชั่นที่ไม่ระบุชื่อชนิด int:
var inc = (x:Int) => x+1
ฟังก์ชั่นที่ไม่ระบุชื่อที่กำหนดไว้ดังกล่าวข้างต้นในความเป็นจริงวิธีการดังกล่าวคือชวเลขต่อไปนี้:
def add2 = new Function1[Int,Int]{ def apply(x:Int):Int = x+1; }
Inc ตัวอย่างข้างต้นในขณะนี้สามารถใช้เป็นฟังก์ชั่นการใช้งานต่อไปนี้:
var x = inc(7)-1
ในทำนองเดียวกันเราสามารถกำหนดฟังก์ชั่นที่ไม่ระบุชื่อในจำนวนของพารามิเตอร์:
var mul = (x: Int, y: Int) => x*y
มัลอยู่ในขณะนี้เป็นฟังก์ชั่นการใช้งานต่อไปนี้:
println(mul(3, 4))
เราไม่สามารถตั้งค่าพารามิเตอร์สำหรับฟังก์ชั่นที่ไม่ระบุชื่อดังนี้
var userDir = () => { System.getProperty("user.dir") }
userdir ในขณะนี้เป็นฟังก์ชั่นการใช้งานต่อไปนี้:
println( userDir )