帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:overload  operator  str  MAKE  Opera  严格  Swift  
Overload +-*/ operator for Swift, make it easier to use (and not so strict)

  • 源代码名称:Easy-Cal-Swift
  • 源代码网址:http://www.github.com/onevcat/Easy-Cal-Swift
  • Easy-Cal-Swift源代码文档
  • Easy-Cal-Swift源代码下载
  • Git URL:
    git://www.github.com/onevcat/Easy-Cal-Swift.git
  • Git Clone代码到本地:
    git clone http://www.github.com/onevcat/Easy-Cal-Swift
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/onevcat/Easy-Cal-Swift
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Easy-Cal-Swift

    概述

    这个文件是 +-*/运算符的重载,使它更容易使用( 而不是那么严格)

    这可以让你的生活在不同类型之间进行快速的计算。 Swift具有类型检查,并且需要左操作数和右边相同类型的。 这会造成很多麻烦,我们必须每次都转换类型。

    var a = 3
    var b = 2.0
    a + b//Compile error
    a - b//Oops, error again
    a * b//Wtf..
    a/b//God please save me
    //You have to write these instead
    Double(a) + b
    Double(a) - b
    Double(a) * b
    Double(a)/b

    是的类型安全但也浪费了时间。

    用法

    只要将 Easy-Cal.swift 放到项目中,现在可以以有一个传统的c,如 IntFloatDouble 之间的隐式转换。 所以你可以像你期望的那样写,不会出现烦人的错误消息。

    var a = 3
    var b = 2.0
    a + b//5.0
    a - b//1.0
    a * b//6.0
    a/b//1.5

    UInt 还实现,但在这个测试种子游戏中有一个 Bug,在分配 UInt 值时有一个致命错误。 幸运的是,UInt 在项目中工作良好。

    风险

    是,使用这些运算符时丢失类型安全,这与快速设计相反。 但我几乎发现,你会知道你在用这些数字做什么,转换就是你想要的。



    文章标签:str  MAKE  Swift  Opera  operator  overload  严格  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语