Domanda

Quando parliamo di stringhe come mutabili, questo è sinonimo di usare la parola 'modificabile' o 'modificabile' o c'è qualche sfumatura aggiuntiva per spiegare perché questo gergo viene usato invece di una parola più semplice come 'modificabile'?

È stato utile?

Soluzione

  • mutabile
    • " responsabile o soggetto a modifiche o alterazioni. "
  • modificabile
    • " per cambiare in qualche modo la forma o le qualità di; alterare parzialmente; "

Al contrario

  • immutabili
    • " non modificabile; immutabile; immutabile "
  • immodificabile
    • "incapace di essere modificato nella forma o nel carattere o nella forza"

Nella programmazione senti più spesso i termini mutabili e immutabili di quanto tu modifichi e non modifichi. Tuttavia, penso che sia sicuro dire che in entrambi i casi ha lo stesso significato.

Ma quando sei a Roma ... quindi dovresti usare mutevole e immutabile in quanto sono i termini più comunemente usati (almeno nella mia esperienza).

Come mai questa scelta? Ho chiesto a mia suocera (è su parole :-) e da un punto di vista non programmabile "mutabile" è più breve di "modificabile" ... mi sembra probabilmente una ragione sufficiente.

Altri suggerimenti

Penso che la parola "mutabile" è una buona opzione per questo.

Se hai utilizzato " modificabile " sarebbe meno chiaro. Ad esempio, se la tua stringa è un tipo allocato di heap, quando dici che stai modificando " string " ;, non è chiaro se stai cambiando i dati sull'heap (il contenuto della stringa) o il puntatore heap della stringa.

Tuttavia, " mutable " suggerisce che i dati effettivi della stringa stanno cambiando, secondo me. Penso che sia dovuto al fatto che è la stessa radice della mutazione. Se qualcosa sta mutando, non sta cambiando da guardare A a guardare B (cioè: cambiare un puntatore), ma piuttosto mutare se stesso o diventare (iterativamente) qualcosa che non era originariamente.

Un oggetto mutabile è un oggetto che può essere modificato dopo che è stato creato. Quindi, in un certo senso, è sinonimo di "modificabile". La parola "mutabile" significa "responsabile o soggetto a modifiche o alterazioni". Penso che suona meglio di "modificabile."

Sì, mutevole è il termine per un oggetto che può essere modificato dopo la sua creazione, mentre immutabile si riferisce a un oggetto che non può cambiare. Mutabile significa letteralmente "capacità di mutare" che penso si adatti perfettamente al comportamento degli oggetti mutabili.

Soprattutto in relazione alle stringhe, in una stringa mutabile, se si cambia il primo carattere da 'A' a 'B', si ha ancora a che fare con gli stessi byte in memoria; uno di questi ha appena assunto un valore diverso. Con stringhe immutabili, ad esempio in Java, un nuovo oggetto verrebbe creato in una nuova posizione in memoria, perché quella originale non può essere modificata.

Mutevole è una parola decente per descriverlo, e ha il vantaggio di non essere caricato con significati o interpretazioni del mondo reale che renderebbero difficile un uso preciso.

E dal momento che non hai sottolineato il contesto specifico di cui stai parlando (e quindi ti prego di perdonarmi se questo è il creep di ambito) ...

Le stringhe in .NET in particolare sono immutabili, non mutabili. Una volta creati, il gioco è fatto. Non cambiano mai. Se vengono effettuati tentativi di modifica, vengono create nuove stringhe e quelle vecchie vengono rilasciate per la garbage collection.

Ecco una spiegazione piuttosto semplice di mutable / immutable usando java come esempio:

Mutevole

  • può essere modificato senza riallocare la memoria
  • a StringBuffer api documentazione è una versione modificabile della classe di stringhe standard

  • per modificare il valore standard della classe String è necessario riallocare la memoria

Non ho mai veramente sentito parlare dell'uso del termine modificabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top