【问题标题】:Extracting items from a list with if statement使用 if 语句从列表中提取项目
【发布时间】:2022-06-29 00:53:46
【问题描述】:

代码

class Weapon {

    construct new(name,damage){
         _name = name
         _damage = damage
    }
    
    GetName { _name }
    GetDamage { _damage }
}

var weapon_inventory = []
var sword = Weapon.new ("Sword",15)
var axe = Weapon.new ("Battle Axe",20)

weapon_inventory.add(sword)
weapon_inventory.add(axe)

for (weapon in weapon_inventory){
    if (weapon.GetDamage > 10) {
       System.print(weapon.GetName)
   }
}

目前,我正在使用带有if 语句的for 循环来提取具有超过10 伤害的武器。

我可以一行完成吗?

【问题讨论】:

    标签: wren


    【解决方案1】:
    var wp = weapon_inventory.where {|n| n.GetDamage > 10}
    wp.each {|weapon| System.print(weapon.GetName)}
     
    # Output:
    
    Sword
    Battle Axe
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 2021-12-10
      • 2011-09-04
      相关资源
      最近更新 更多