Wpis z mikrobloga

#fsharp #programowanie

Przerabiam tutorial z F# i pojawiło się właśnie coś takiego jak "tuples". Wygląda jak tablice, tylko zamiast kanciastych klamerek, są nawiasy ( ͡º ͜ʖ͡º)

Nigdy nie widziałem czegoś takiego wcześniej w innych językach (albo o tym nie wiem ;P). Co to jest i czym się różni od tablic bądź list?
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

To kwestia konwencji, a nie "sztywnych" wymgagań: lista na ogół służy do przechowywania większej ilości elementów tego samego typu, podczas gdy w tupli na ogół zwraca się obiekty ze sobą powiązane, ale różnych typów. Np. za pomocą listy zwrócisz wszystkie wpisy na blogu, ale jeśli masz funkcję która loguje usera na stronie i chcesz zwrócić - w razie niepowodzenia - kod błędu (int) i komunikat błędu (string), to zwrócisz je raczej jako
  • Odpowiedz
@Pietrek558: to taki hak na zwracanie z funkcji wielu wartości (albo ogólnie przekazywanie między fragmentami kodu) bez tworzenia specjalnych klas. Czasem tworzenie klas to za dużo zachodu. Tak jak napisałeś krotki różnią się od tablic tym, że mogą przechowywać różne typy. W językach ze statycznym typowaniem kompilator potrafi dopilnować, żeby typy były przestrzegane.
  • Odpowiedz
@Pietrek558: Na tuple patrz bardziej pod kątem nowego typu, a nie tablicy. Raczej nigdy nie używasz pętli do operowania na krotce - to "strukturalny" element twojego programu (przez co idealnie nadaje się np. do pattern matchingu). Krotki będą występować dość często podczas dalszej nauki i ich zastosowanie w wielu miejscach się wyjaśni.
  • Odpowiedz