Hàm trong Scala được khai báo bằng từ khoá def

Học lập trình Scala

Cách khai báo gọn hơn, kiểu giá trị trả về tự suy, thân hàm không cần gói trong ngoặc { }

def max (x: Int, y: Int) = if (x > y) x else y
max (2 , 5)

Viết script Scala, giống như Ruby, Scala có thể viết thành script để chạy.

nano printArgs.scala //Tạo mới một file Scala script
args.foreach(println) //Gõ lệnh này vào rồi lưu file
scala printArgs.scala Hoang Sa la cua Viet nam  //Ở Terminal chạy script
//Kết quả là
Hoang
Sa
la
cua
Viet nam

Cách viết khác

args.foreach((arg: String) => println(arg)) //Đây là cách viết đầy đủ.
args.foreach(println) //Cách viết ngắn gọn khi hàm, println, chỉ có một tham số

Tiêu chuẩn của một hàm trong Scala đúng nghĩa là functional programming là:
1- Không có hiệu ứng phụ: (Side effect), hàm chạy xong, dữ liệu đầu vào bị thay đổi
2- Không sử dụng hoặc lạm dụng các biến phụ để trong thân hàm.