我已经定义了以下自定义单位(伪代码):
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
这样的事情存在吗?