yılında Geçişli özel birim dönüştürme ben ettik aşağıdaki özel birimleri (psuedo kodu) tanımlanmıştır:Simetrik ve Perl
unix_days = unix_seconds/86400;
nasa_seconds = unix_seconds - 946728000;
Bu bana doğrudan unix_days
için unix_seconds
dönüştürmek veya nasa_seconds
için unix_seconds
dönüştürmek sağlar. Ancak, başka bir formül yazmadan, unix_days
'u doğrudan unix_seconds
'a dönüştürebilirim.
Benzer şekilde, ek formüller yazmadan nasa_seconds
'u unix_days
'a dönüştüremiyorum.
Ek işlevler yazmadan bunu yapmamı sağlayan akıllı bir Perl alt yordamı veya paketi var mı? Daha spesifik olarak, özel bir birim dönüşüm paketi:
bir birim dönüştürme işlevinin tersini tanrısal Can. Örneğin,
f(x)=x/86400
'un karşısındaki ,g(y)=y*86400
'dur.Transitiviteyi gerektiği gibi uygulayabilir. Örneğin,
unix_seconds = nasa_seconds + 946728000
(işlevsel olarak ters) veunix_days = unix_seconds/86400
ise, bunları doğrudannasa_seconds
'danunix_days
'a dönüştürmek için birleştirebiliriz.
ihtiyacım eğer alışılmadık şekillerde dönüşüm formülleri yazma ile iyiyim. Örneğin, Fahrenheit Celsius olarak yazılmış olabilir:
C to F: *1.8 +32
Bu form ters kolaydır: sadece yani geriye ve tersten adımları izleyin:
F to C: -32 /1.8
böyle bir şey var mı?
Harika, teşekkürler! Kendi birimlerinizi tanımlamanıza izin veren paketler olduğunu fark etmemiştim. – barrycarter