Just 5 - Just 3 #4
Replies: 4 comments 1 reply
-
|
non per essere pignolo, ma Maybe e Option sono due nomi dello stesso concetto,.. giusto? Intanto che faccio il ragù... |
Beta Was this translation helpful? Give feedback.
-
|
@aironangel esattamente. Perdonami, sono io che faccio confusione passando da un nome all'altro. Alcuni linguaggi usano Accade lo stesso con Provo a fare una tabellina dei sinonimi che mi vengono in mente
Via via che ne incontriamo altre aggiorniamo la tabella. |
Beta Was this translation helpful? Give feedback.
-
|
Allora, ho riletto il 3°capitolo. Internal Option<int> operator - (Option<int> a, Option<int> b) =>
a.Match(
() => None;
(aValue) => b.Match(
() => None;
(bValue) => aValue - bValue;
)); |
Beta Was this translation helpful? Give feedback.
-
|
Il guaio è che toccherebbe fare lo stesso per l’operatore +, per il *, e in generale per ogni funzione a cui capiti di avere 2 parametri Option. E peggio che mai per quelli a 3 parametri. l’idea è di estrarre quel pattern e implementarlo una volta sola dentro Option, in modo che il chiamante non debba fare ogni volta due match innestati. In effetti, Map consente al chiamante di passare una funzione senza doversi preoccupare di valutare, con un Match, se si stia trattando con un Some o con un Nothing. Dovremmo trovare qualcosa di simile. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Come sviluppereste questa funzione? (il test è pseudo-codice)
Una volta sviluppata, come generalizzereste il codice, per evitare di dover implementare la stessa soluzione anche per la
Adde per ogni altra funzione che debba combinare 2Option<T>?C'è un modo per incapsulare quel comportamento dentro
Option, un po' come facciamo conMap/SelecteBind/SelectMany?Beta Was this translation helpful? Give feedback.
All reactions