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.