Mam struct tak:`map` na podstawie stanu
Struct.new("Test", :loc, :type, :hostname, :ip)
clients = [
Struct::TestClient.new(1, :pc, "pc1", "192.168.0.1")
Struct::TestClient.new(1, :pc, "pc2", "192.168.0.2")
Struct::TestClient.new(1, :tablet, "tablet1", "192.168.0.3")
Struct::TestClient.new(1, :tablet, "tablet2", "192.168.0.3")
and etc...
]
Jeśli chcę uzyskać adres IP wszystkich urządzeń, które można używać test_clients.map(&:ip)
. Jak wybrać adresy IP konkretnych urządzeń, na przykład wszystkie typy urządzeń o nazwie "tablet"
? Jak mogę to zrobić z map
?
Przepraszam za duplikowanie odpowiedzi, zbyt wiele razy uderz w klawisz Backspace i wróć do tworzenia, a nie edycji. – silasjmatson
Jestem ciekawa, jak odróżnić różnicę między 'collect' i' map'? Czy też 'collect (& ip)' zwraca to, czego oczekujesz? –
Zwykle używam 'collect', gdy tylko pobieram wartości z zestawu obiektów, i' map' gdy robię pęczek logiki w bloku lub zwracam tablicę, która zmieniła wartości. Czy jestem w tym zły? – silasjmatson