Bezwzględność tytułu pytania jest tym, co próbuję rozwiązać. Przykład:Jak znaleźć "niezbędne" metody zapewniania interfejsu z mieszankami Ruby?
w Ruby, Enumerable jest interfejsem w pewnym sensie, że mogę zaimplementować coś i udokumentować ją jako:
def myfancymethod(please_pass_me_an_Enumerable_here)
, ale z drugiej strony, Enumerable jest rodzajem amplifikacji interfejsu, który ma #każ jako jedną z jego metod. Jeśli mam klasę
class Foo
def each
:bar
end
end
Dla osób niezaznajomionych z Ruby, jeśli moduł mixin Enumerable w klasie, masz dziesiątki metod, które polegać tylko na #each
metody dostarczenie rzeczy jak #map
, #select
itd
Mogę powiedzieć, że moja klasa Foo
jest możliwa do zmienienia lub możliwa do zmienienia lub co? Jakie warunki opisują odpowiedź na „Co trzeba zrobić, aby być Enumerable?”, „No trzeba mieć #each”
Podobnie w Ruby
(Array.new.methods - Object.new.methods).size # 111
Czy to znaczy, że do fałszywego Array interfejs, muszę wdrożyć 111 metod? Nie ma mowy, ale jak się dowiedzieć, jakie metody są "esencją" Array. czy to tylko #[]
, #[]=
i #size
? Jak to zrozumieć?
Czy masz pytanie dotyczące tego terminu? Albo o tym, jak znaleźć "podstawowe" metody? –
Myślę, że byłoby o wiele łatwiej odpowiedzieć w języku, który miał interfejsy. – Russell
@SergioTulentsev to drugie byłoby niesamowite. Nadal nie wiem, jakie są "istotne" metody ActiveRecord lub Array. – ulver