私はScalaの新機能ですので、これはほとんどの人には明らかですが、ここでは私の問題です。私はバーガートラックのチケットを作成するために、単純なクラスを作成しました:私はここで達成しようとしている何インスタンス変数の値へのアクセスscala
class Tickets() {
var burgerPrice = 2.00
var frenchFriesPrice = 1.00
var milkshakePrice = 3.00
var taxes = 0.08
def calculatePrices(burgersNum: Int, frenchFriesNum: Int, milkshakesNum: Int) = {
val price = (burgersNum*burgerPrice + frenchFriesNum*frenchFriesPrice + milkshakesNum*milkshakePrice) * (1+taxes)
price
}
}
は、印刷小計と、すべての領収書の合計金額になりましオブジェクトの内部関数を作成することです。そのようなことを行うには、私が試してみました:
object receipt{
def main(args: Array[String]) {
val importe = new Tickets()
val burgersNum = readLine("Welcome to my shop. How many burgers do you want? ").toInt
val frenchFriesNum = readLine("How many French fries? ").toInt
val milkshakesNum = readLine("Any milkshakes? ").toInt
println("Burgers: " + burgersNum + "Price: " + Tickets.burgerPrice)
}
}
しかし、価格を得るために、チケット内の変数にアクセスしようと動作するようには思えません。私が行方不明になっている簡単な方法はありますか?
あなたはあなたのチケットオブジェクトへのstd入力から読んでいる動的な引数が渡されていない、それはあなたが望むものではありません?また、あなたの期待している結果は何ですか? – prayagupd
OOPをあまり知らなくてもスカラを始めるなら、関数型プログラミング言語として直接学び、mutability pitの低下を避ける方が良いでしょう。スカラーの使用方法と理由については、https://stackoverflow.com/tags/scala/infoをご覧ください。 –