Perl中的对称和传递自定义单位转换

前端之家收集整理的这篇文章主要介绍了Perl中的对称和传递自定义单位转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经定义了以下自定义单位(伪代码):

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.

如果,我可以用不寻常的方式编写我的转换公式
需要.例如,Celsius到Fahrenheit可以写成:

C to F: *1.8 +32

这种形式很容易反转:只需按照后面和后面的步骤
反向,即:

F to C: -32 /1.8

这样的事情存在吗?

解决方法

Physics::Unit应该提供您需要的设施.

猜你在找的Perl相关文章