【发布时间】:2014-09-19 19:49:25
【问题描述】:
我定义了以下自定义单位(伪代码):
unix_days = unix_seconds/86400;
nasa_seconds = unix_seconds - 946728000;
这让我可以直接将unix_seconds 转换为unix_days 或转换
unix_seconds 到 nasa_seconds。
但是,我不能直接将unix_days 转换回unix_seconds
无需编写另一个公式。
同样,我不能不写就将nasa_seconds 转换为unix_days
附加公式。
是否有一个聪明的 Perl 子例程或包可以让我这样做 不写额外的功能?更具体地说,自定义单元 转换包:
可以算出单位转换函数的倒数。例如,
f(x)=x/86400的反义词是g(y)=y*86400。可以根据需要应用传递性。例如,如果
unix_seconds = nasa_seconds + 946728000(通过反函数)和unix_days = unix_seconds/86400,我们可以将它们组合起来直接从nasa_seconds转换为unix_days。
我可以用不寻常的方式编写我的转换公式,如果 需要。例如,摄氏到华氏可以写成:
C to F: *1.8 +32
这种形式很容易倒转:只需按照后面的步骤和 反向,即:
F to C: -32 /1.8
这样的事情存在吗?
【问题讨论】:
标签: perl unit-conversion