You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala中如何在不同方法间访问方法参数变量?

解决方案

要实现clearPressed方法访问并清空addItemToStore的barcode参数,核心问题是方法的局部参数无法跨方法访问,你需要把barcode的状态保存为类的成员变量。具体步骤如下:

    1. 在SelfCheckout类中添加一个可变成员变量,用于存储当前的barcode值(可替换现有clearBarcode变量,或命名更语义化的名称)
    1. 在addItemToStore方法中,将传入的barcode参数赋值给这个类成员变量
    1. 在clearPressed方法中,直接操作这个成员变量,将其置为空字符串

修改后的完整代码:

class SelfCheckout {
  var numList = List[String]()
  var numEnter: String = ""
  // 存储当前barcode的类成员变量
  var currentBarcode: String = ""

  def addItemToStore(barcode: String, item: Item): Unit = {
    // 将传入的barcode保存到类成员变量
    currentBarcode = barcode
    // 这里可保留你原本的业务逻辑,比如添加商品到库存等
  }

  def numberPressed(number: Int): Unit = {
    numList = numList :+ number.toString
  }

  def clearPressed(): Unit = {
    numList = List()
    // 清空存储的barcode值
    currentBarcode = ""
  }
}

// 假设Item类定义(若你的代码已有可忽略)
class Item

关键点说明

  • 方法参数(如addItemToStore的barcode)是局部变量,作用域仅限方法内部,方法执行完毕后会被销毁,其他方法无法直接访问
  • 类的成员变量(如currentBarcode)属于整个实例对象,所有类方法都可访问和修改,适合存储需要跨方法共享的状态

内容的提问来源于stack exchange,提问作者siraat mustafa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 08:40:25