官术网_书友最值得收藏!

Base Syntax for Expressions

Scala is an expression-based language, which means that everything is an expression (in the right-hand side of function and value/variable definitions).

Some of the base expressions are:

  • Primitive expression: Constant or value/variable name.
  • Function calls: These can be:
    • Usual function calls f(x, y).
    • Operator call syntax:
    • binary: x + y.

    Note

    Any method with an argument can be used as a binary operator. A set of predefined binary operators are similar to Java:

  • unary: !x
  • Constructors: new x creates an instance of class x.
  • Assignments to mutable variables:
    • y = 3: Assigns a value of 3 to y.
    • x = 3: This is a compiler error, and a value can't be assigned.
  • Block:
    { A; B }

    The value of a block expression is the last expression. Note that ; can be omitted if A and B are situated on different lines. The syntax for this is shown as follows:

    {
       A
       B
    }

The preceding syntax will have the same output as { A; B }.

  • Control structures
    • if statement:
             >  if (1 == 1)  "A"  else "B"
             - let's eval one in REPL
    • match/case expressions:
          >  x match {
               case "Jon"  =>  doSomethingSpecialForJon()
               case "Joe" =>   doSomethingSpecialForJoe()
               case   _   => doForAll()
            }
    • Loops:
    • while/do
           var i=0
            var s=0
            while(i < 10) {
                s = s+i
                i = i +1
            }
    • Do/while
    • Foreach, for

Shortcuts for height-order functions will be described in detail in, Chapter 4, Scala Collections.

We'll look at defining a main function which prints something onscreen and calls the main function.

  1. You should have already opened project1. If you haven't, import it into the IDE.
  2. Insert the new method inside the object definition.
  3. Insert call at the main method.

The full method should look something like this:

  object Chatbot1 {def printHello():Unit = {
println("Hello")}def main(args: Array[String]): Unit = {
printHello() … // unchanged code here
     }
}
主站蜘蛛池模板: 肇庆市| 盈江县| 广平县| 龙岩市| 慈利县| 芦山县| 杭州市| 泰兴市| 华安县| 虎林市| 化德县| 元氏县| 紫阳县| 乐陵市| 连云港市| 申扎县| 新宁县| 扬中市| 雷山县| 武乡县| 罗田县| 房山区| 忻城县| 襄汾县| 阿鲁科尔沁旗| 威远县| 岳池县| 东乡族自治县| 莒南县| 白水县| 安龙县| 金平| 白城市| 古田县| 宝丰县| 富顺县| 河东区| 印江| 永吉县| 崇礼县| 马鞍山市|