傳遞定製單位換算我已經定義了以下自定義單位(僞代碼):對稱和在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
。
如果需要 ,我可以用不尋常的方式編寫我的轉換公式。例如,攝氏華氏可以寫成:
C to F: *1.8 +32
這種形式很容易反轉:只要按照步驟向後和 反向,即:
F to C: -32 /1.8
難道這樣的事情存在?
太棒了,謝謝!我沒有意識到有這樣的軟件包,可以讓你定義自己的單元。 – barrycarter 2014-09-20 11:10:06