GitHub地址:https://github.com/Uberi/Fraction.ahk

 

分数.ahk

完整的分数数学库。

设置

下载后,解压文件夹。在您的项目中,包含 Fraction.ahk 库:

#Include PATH_TO_LIBRARY\Fraction.ahk

或者,如果该文件夹位于您的标准库中:

#Include <FOLDER_NAME\Fraction>

用法

创建

创建一个Fraction对象如下:

SomeFraction := new Fraction(5,2)

上面创建了一个Fraction值为 5/2 的对象。

我们还可以使用单个实数或整数:

SomeFraction := new Fraction(2.75)

上面创建了一个Fraction值为 11/4 的对象。

也可以使用分数字符串:

SomeFraction := new Fraction("3 / 4")

上面创建了一个Fraction值为 3/4 的对象。

分数字符串可以包含任意数量的空格。

运营

给定一个分数,我们可以对其进行运算:

SomeFraction := new Fraction(1,2)
SomeFraction.Add(new Fraction(3,4))

该对象现在的值为 1/2 + 3/4,即 5/4。

许多方法返回对象本身。这意味着我们可以将方法链接在一起:

SomeFraction := new Fraction(7,8)
SomeFraction
    .Add(new Fraction(6,3))
    .Multiply(new Fraction(9,2))
    .Subtract(new Fraction(2,5))

该对象现在的值为 ((7/8 + 6/3) * 9/2) - 2/5,或 1003/80。

许多方法修改对象本身,而不是返回经过修改的新对象。

如果我们需要保留原始对象但又想要操作的结果,则适用以下模式:

SomeFraction := new Fraction(1,5)
Quotient := SomeFraction.Clone().Divide(new Fraction(1,2))

该对象SomeFraction保留其值 1/5,但该对象Quotient的值为 (1/5) / (1/2),即 2/5。

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。