2.9. Konwersja stopni na radiany i odwrotnie
Problem
Funkcje trygonometryczne modułu Math
wymagają argumentów wyrażonych w radianach (kąt pełny to 2π radianów), tymczasem bardziej naturalną konwencją w komunikacji z użytkownikiem wydaje się wyrażanie wielkości kątów w stopniach (kąt pełny to 360°).
Rozwiązanie
Najbardziej oczywisty sposób rozwiązania powyższego problemu polega na dodaniu do klasy Numeric
metody dokonującej konwersji stopni na radiany:
class Numeric def degrees self * Math::PI / 180 #PI radianów to 180 stopni end end
Odtąd można będzie traktować każdy obiekt numeryczny jako miarę kąta wyrażoną w stopniach i za pomocą metody degrees
dokonywać jej konwersji na radiany, gdy obiekt ten użyty zostanie jako argument funkcji ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.