Gli oggetti tendono a confondermi. Comprendere il concetto e l'uso, certamente, ma mi sembra che il paradigma funzionale stia limitando in qualche modo il mio uso di essi.
Al momento sto creando un codice semplice per un gioco di carte. Ogni giocatore potrebbe avere un oggetto semplice, come questo:
object player {
name = "Steve";
score = 0;
hand = [/*...contains seven cards...*/];
}
e un oggetto per un mazzo:
object deck {
cards = [/*...contains the other 45 cards...*/]
}
Quindi per distribuire nuove carte, il modo più semplice sarebbe quello di mutare la this.hand e la this.cards. Ma ... mutazione.
Posso pensare ad altri modi per farlo, ma i modi puramente funzionali che riesco a pensare mi fanno incazzare.
A che punto si traccia la linea tra dati mutevoli e immutabili o cosa mi manca?