私はscalaに本当に慣れていません。クラス外からコンパニオン クラス変数にアクセスしようとしています。クラスのインスタンスを作成せずに、可能な限りこれを行うにはどうすればよいですか。
次の例では、YotascaleCostProcessing クラス内から INTERNAL_COST_REQUESTS にアクセスできます。
package com.yotascale
class YotascaleCostProcessing extends YotascaleActorSystem{
//companion object
object YotascaleCostProcessing{
val INTERNAL_COST_REQUESTS = "internal-cost-requests"
val INTERNAL_COST_UPDATES = "internal-cost-updates"
}
def setupInfrastructure() = {
QueueService.createQueue(YotascaleCostProcessing.INTERNAL_COST_REQUESTS)
QueueService.createQueue(YotascaleCostProcessing.INTERNAL_COST_UPDATES)
}
}
別のパッケージの別のクラスから YotascaleCostProcessing.INTERNAL_COST_UPDATES を実行すると、YotascaleCostProcessing のインポートが存在するにもかかわらず、「見つかりません: 値 YotascaleCostProcessing」というエラーが表示されます。これが機能する唯一の方法は、私がこれを行うときです: new YotascaleCostProcessing().YotascaleCostProcessing.INTERNAL_COST_UPDATES
package com.yotascale.service.cost.setup;
import com.yotascale.YotascaleCostProcessing
class MetadataNotificationConfiguringActor(message:Message) extends UntypedActor {
def configureBucket() = {
val realtimeupdates = QueueService.getQueueURL(YotascaleCostProcessing.INTERNAL_COST_REQUESTS)
}
}