如何借用CoffeeScript中另一个函数的参数?

时间:2014-03-26 13:17:31

标签: function coffeescript

我正在使用一些代码。我有一个如下所示的字符文件:

character = (name,level,health,species,admin,donor,weapon) ->
    alert "Name = "+name
    alert "Level = "+level
    alert "Species = "+species
    if admin = (true)
        alert "He is an Admin"

    if donor = (true)
        alert "Thanks"

    alert "What a shiny "+weapon

我也有这样的攻击文件:

attack = (name,weapon,target,damage) ->
    alert name
    alert weapon
    alert target
    alert damage

我希望health减去damage。我不知道如何借用参数。我该怎么做?

1 个答案:

答案 0 :(得分:0)

这可能更接近你的想法在coffeescript中的样子

class Character
    constructor: (@name, @level, @health, @species, @admin, @donor, @weapon) ->
        console.log "Name = " + @name
        console.log "Level = " + @level
        console.log "Species = " + @species
        if @admin is yes
                console.log "#{@name} is an Admin"

        if @donor is yes
                console.log "Thank you for donating #{@name}"

        console.log "What a shiny " + @weapon

    attackedBy: (attacker, target, damage) =>
        @health -= damage;
        console.log "#{attacker.name} did #{damage} points of damage when attacking #{@name}'s' #{target}"
        console.log "#{@name} now has #{@health} health"

bob = new Character 'Bob', 1, 100, 'Dwarf', no, yes, 'Pole staff'
frank = new Character 'Frank', 1, 50, 'Human', yes, no, 'Short sword'

bob.attackedBy frank, 'Head', 40
相关问题