Vinova tuyển lập trình viên Mobile & Web ở Hà Nội, lương $300-1000

Article: Ba cách chạy chương trình Scala 571

JVM
trangia61.myopenid.com 3
Updated about 1 year ago

Có 3 cách chạy để ra kết quả của 1 chương trình Scala. Đó là:

  1. Chạy trong chế độ interactive
  2. Chạy trực tiếp bằng lệnh scala (chế độ thông dịch)
  3. Compile thành file .class rồi chạy như cách chạy của Java

Giả sử có chương trình three_ways_run.scala như sau:

package ex

object ThreeWaysRun { def main(args: Array[String]) { println("There are 3 ways to run a scala program") } }

1. Chạy trong chế độ interactive

Gõ lệnh scala để hiện console:

$ scala
scala> (copy tòan bộ code của chương trình phía trên)
scala> ThreeWaysRun.main(Array()) 

2. Chạy trực tiếp bằng lệnh scala (chế độ thông dịch)

Sửa lại nội dung three_ways_run.scala như sau:

package ex

object ThreeWaysRun { def main(args: Array[String]) { } } println("There are 3 ways to run a scala program")

Gõ lệnh như sau:

$ scala three_ways_run.scala

3. Compile thành file .class rồi chạy như cách chạy của Java

(nội dung three_ways_run.scala như ban đầu, không đổi gì hết)
$ scalac three_ways_run.scala
$ scala ex.ThreeWaysRun

Chú ý mặc dù đã compile ra file .class, nhưng không thể đơn giản là chạy bằng lệnh java như cách của Java:

$ java ex.ThreeWaysRun

Lệnh trên sẽ bị lỗi. Nếu muốn không bị lỗi thì cần thêm thư viện scala vào biến môi trường CLASSPATH để Java biết phải load thư viện từ chỗ nào.

$ export CLASSPATH=path/to/scala-library.jar:.
$
java ex.ThreeWaysRun

Hoặc:

$ CLASSPATH=path/to/scala-library.jar:. java ex.ThreeWaysRun

Hoặc:

$ java -cp path/to/scala-library.jar:. ex.ThreeWaysRun

Như vậy lệnh scala đã tự động thêm thư viện scala vào CLASSPATH giúp ta.

Comments

You must login to be able to comment

Uploaded files

No file uploaded yet

You must login to be able to upload

Nhà tài trợ:

Mọi người đều tự do viết bài, sửa bài của người khác, và bình luận ở trang web này. Bạn muốn chủ động tạo bài mới để chia sẻ kinh nghiệm với mọi người? Xin click link ở dưới.

Create new content