Nếu bạn đang sử dụng App
đặc điểm, sau đó bạn không cần phải ghi đè main
phương pháp - chỉ cần viết mã của bạn trong cơ thể của object
:
object Main extends App {
val NameTemplate = """^([A-Za-z]+)_(\d+)\.png""".r
println(NameTemplate)
val NameTemplate(name, version) = args(0)
println(name + " v" + version)
}
Nó hoạt động vì App
đặc điểm mở rộng DelayedInit đặc điểm trong đó có thủ tục khởi tạo rất đặc biệt. Bạn thậm chí có thể truy cập các đối số với args
, như được hiển thị trong ví dụ.
Bạn vẫn cần phải viết main
phương pháp nếu bạn không muốn mở rộng App
, nhưng trong trường hợp này nó sẽ làm việc như mong đợi:
object Main {
val NameTemplate = """^([A-Za-z]+)_(\d+)\.png""".r
def main(args: Array[String]) {
println(NameTemplate)
val NameTemplate(name, version) = args(0)
println(name + " v" + version)
}
}