정수가 들어있는 여러 변수가있는 클래스가 있고 호출에 따라 그 중 하나가 특정 값만큼 증가하는 메서드가 필요합니다.여러 변수에 대해 increaser를 만드는 방법은 무엇입니까?
case class Bank {
private var depo = 0
private var loan = 0
def deposit(amount: Int): Boolean = {
if(amount>0) {
depo += amount
true
} else false
}
def withdraw(amount: Int): Boolean = {
if(amount > 0 && amount <= balance) {
depo -= amount
true
} else false
}
def balance_=(b:Int) = {
if(b >= 0) {
if(b < depo) withdraw(depo-b) else deposit(b-depo)
} else false
}
def balance = depo
}
나는 예금을 늘려야 할 때, 난 그냥
myBank.balance += 10
를 호출하지만 지금은 대출을 늘려야 할 때, 내가 바로, 별도의 방법을 쓸 필요가?
increaser(varToIncrease, amount)
같은 방법을 쓸 가능성이 가능성 또는 유용한 있나요인가? 아니면 모든 단일 var에 대해 "increaser"방법을 써야합니까?
간단하지 않은 이유는 무엇입니까? –
@ om-nom-nom에 동의합니다. 이 기능에서 추가 작업이 일어나지 않는 한 추가 기능을 수행하는 이유는 무엇입니까? (어쨌든 피해야 할 부작용과 같은) – cmbaxter
답변 해 주셔서 감사합니다. 저는 스칼라를 처음 접했습니다. 내 문제는 var x를 100만큼 증가 시키려고 할 때 x.increase (100)를 사용하지만 var y를 증가 시키려면 y에 대한 두 번째 메소드를 작성해야한다는 것이다. 그건 나에게 이해가되지 않지만, 어떻게 해결해야할지 모르겠다. – Mikkel