- Professional Scala
- Mads Hartmann Ruslan Shevchenko
- 277字
- 2021-07-23 17:24:22
Obtaining the Time Request from Our Chatbot Program
For now, let's return to our task: modifying the chatbot
program so that it replies with the current time, as requested by the use of time
. Let's learn how to do this:
Steps for C ompletion
- Check for
time
to match the statement:case "time" =>
- Retrieve the current time using the Java API. Use the
now
method ofjava.time.LocalTime
:java.time.LocalTime.now()
- Display the output of the time using string interpolators, as follows:
println("time is ${java.time.LocalTime.now()}")
The main
method will look like this:
def main(args: Array[String]): Unit = { val name = StdIn.readLine("Hi! What is your name?") println(s" $name, tell me something interesting, say 'bay' to end the talk") var timeToBye = false while (!timeToBye)timeToBye = StdIn.readLine(">") match {case "bye" => println("ok, bye")truecase "time" => println(s"time is ${java.time.LocalTime.now()}")truecase _ => println("interesting...")false} }
After we prepare and package our artifacts, we need to run them as well.
In this book, we will use the running system from unpackaged sources via sbt
(as in the early days of Ruby applications), assuming that sources and sbt
tools are accessible from the production environment. Using this, we can use build tool commands for sources such as sbt run
. In real life, packaging for production is a bit more complex.
Popular methods for doing this are as follows:
- Preparing a fat jar (which includes all dependencies). An
sbt
plugin for this exists, which can be found at the following link: https://github.com/sbt/sbt-assembly. - Preparing a native system package (which includes jars, dependencies, custom layouts, and so on). There is also an
sbt
plugin to create native system packages, which can be found at the following link: https://github.com/sbt/sbt-native-packager.
推薦閱讀
- 6G潛在關鍵技術(下冊)
- Aptana Studio Beginner's Guide
- Cisco OSPF命令與配置手冊
- 面向物聯網的CC2530與傳感器應用開發
- 物聯網網絡安全及應用
- Web Application Development with R Using Shiny
- 射頻通信系統
- CCNP TSHOOT(642-832)認證考試指南
- Building Web Applications with ArcGIS
- 5G時代的大數據技術架構和關鍵技術詳解
- Hands-On Bitcoin Programming with Python
- 園區網絡架構與技術
- Python Web Scraping Cookbook
- LiveCode Mobile Development Beginner's Guide
- 現場總線與工業以太網及其應用技術(第2版)