Skip to content

Use Dictionary default values #97

@Samasaur1

Description

@Samasaur1

I was reading an article about changes introduced in Swift 4 and came across the ability to provide a default value when accessing a dictionary:

let dict = getDict()

let val = dict[“key”] ?? 0
//can be replaced with
let val = dict[“key”, default: 0]

//no big deal, right? Look at this:
dict[“key”] = (dict[“key”] ?? 0) + 1
//becoming
dict[“key”, default: 0] += 1

We could take advantage of this in quite a few places in Dice.Swift, and possibly other places:

newDice[d] = (newDice[d] ?? 0) + 1

newDice[d] = (newDice[d] ?? 0) + 1

newDice[die] = (newDice[die] ?? 0) + count

newDice[d] = (newDice[d] ?? 0) + 1

newDice[d] = (newDice[d] ?? 0) + 1

newDice[die] = (newDice[die] ?? 0) + count

dice[sides] = (dice[sides] ?? 0) - 1

dice[sides] = (dice[sides] ?? 0) - multiplier

dice[sides] = (dice[sides] ?? 0) + 1

dice[sides] = (dice[sides] ?? 0) + multiplier

dice[sides] = (dice[sides] ?? 0) - 1

dice[sides] = (dice[sides] ?? 0) - multiplier

newProbs[res + nRes] = (newProbs[res + nRes] ?? .zero) + (chance * nChance)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestgood first issueGood for newcomersinternal changeSomething that only changes on the insidelow prioritySomething that is not urgent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions