Skip to content

Instantly share code, notes, and snippets.

@SatoTakeshiX
Created January 19, 2018 07:04
Show Gist options
  • Select an option

  • Save SatoTakeshiX/ade966608957de3ce1e77578cb274f74 to your computer and use it in GitHub Desktop.

Select an option

Save SatoTakeshiX/ade966608957de3ce1e77578cb274f74 to your computer and use it in GitHub Desktop.
@ktanaka117 こういうのどうでしょう?extensionというネームスペースを作ってtoggleは自身を書き換えるのではなくて書き換えた結果だけを返す #CodePiece
extension Bool {
struct Extension {
let value: Bool
func toggle() -> Bool {
return !value
}
}
var `extension`: Extension {
return Extension(value: self)
}
}
let flg = true
let toggleFlg = flg.extension.toggle()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment