by shigemk2

当面は技術的なことしか書かない

Scalaの基本を副作用をまじえて

PDF P25 Listing 1.1 A Scala program with side effectsをちょっと翻訳してみた。

副作用とは何か、Scalaの基本が混じっている。

class Cafe { // classキーワードは、Javaのようなクラスを宣言します。その本体は波括弧{と}に含まれます。
  def buyCoffee(cc: CreditCard): Coffee = { // クラスのメソッドは、defキーワードによって導入されます。 cc: CreditCardは、CreditCard型のccという名前のパラメータを定義します。 buyCoffeeメソッドの戻り値はCoffee型で、パラメータリストの後に与えられ、メソッド本体は=記号の後に中括弧内のブロックで構成されています。
    val cup = new Coffee() // セミコロンは必要ありません。改行はブロック内の文を区切ります。
    cc.charge(cup.price) // 副作用です。実際にクレジットカードをチャージします。
    cup // returnを宣言する必要はありません。cupは、ブロックの最後の文であるので、それは自動的に返されます
  }
}