2013-05-27 8 views
0

Я попытался запустить один пример из программирования в Scala, но компилятор дает мне ошибку:частное поле в объекте не компилирует

Description Resource Path Location Type illegal start of statement (no modifiers allowed here) ChecksumAcc.sc /HelloWorld/src line 3 Scala Problem

в основном жалуется private

import scala.collection.mutable.Map 

object ChecksumAcc { 
    private val cache = Map[String, Int]() 

} 

Я используя таблицу Eclipse для Scala. То же самое после обновления. Я считаю, что он использует 2.9.3 компилятор scala. Почему он не компилируется?

ответ

2

Не знаете, каков ваш фактический вопрос, но на листе Scala есть специальные правила (о чем свидетельствует очень четкое сообщение об ошибке ...). Одна вещь, которую вы можете сделать, если вы иметь использовать таблицу, чтобы поместить весь код внутри Worksheet объекта, как это:

object Worksheet { 
    import scala.collection.mutable.Map 

    object ChecksumAcc { 
    private val cache = Map[String, Int]() 
    } 
} 

или в качестве альтернативы, использовать в Eclipse «объект New Scala ...» и использование что вместо рабочего листа.

0

Чтобы избежать появления сообщения об ошибке вы видите, когда вы работаете в рабочем листе Eclipse, Scala обернуть определение класса и класса Companion (объект Singleton) в одном объекте

object worksheet { 
class CheckSumAccumulator { 
... 
} 
    object CheckSumAccumulator { 
    ... 
    } 
    CheckSumAccumulator.calculate("foobar") 

} 
Смежные вопросы