Questa libreria vuole essere un piccolo esempio pratico di uso del linguaggio TypeScript attraverso l'implementazione di una libreria sugli spazi vettoriali. In particolare si vuole dare enfasi alle potenzialità dell'uso combinato della tipizzazione e del paradigma di programmazione ad oggetti attraverso l'uso dei Generics.
class Coordinata<T extends iNumero>
class Coordinate<T extends iNumero>
class CoordinateCartesiane<T extends iNumero>
class CoordinatePolari<T extends iNumero>
norma(): Reale
distanza(t: T): Reale
dipendenteDa(ts: T[]): true | false
indipendenteDa(ts: T[]): true | false
function gaussJordan(matrice: Matrice) : Matrice
vedi file package.json per le versioni:
@types/chai
@types/mocha
chai
mocha
nyc
npm-run-all
del-cli
ts-node
typescript
$ git clone https://github.com/JoeFerri/vettoriale
$ cd ../path/to/the/file
$ npm install del-cli --save-dev
$ npm install npm-run-all --save-dev
$ npm install typescript --save-dev
$ npm start
$ cd ../path/to/the/file
$ npm i -D chai mocha nyc ts-node typescript
$ npm i -D @types/chai @types/mocha
$ npm t
$ npm run coverage
Per la documentazione si vedano le note interne al codice sorgente.
La struttura del progetto è autodeterminata dal meccanismo costruttivo di scrittura del codice, e nello specifico si basa su un'unica cartella lib contenente i sorgenti in TypeScript, e su un'unica cartella dist contenente i files JavaScript generati dalla compilazione.
- operatori.ts
-
- numeri.ts
-
-
- insieme.ts
-
-
-
-
- coordinate.ts
-
-
-
-
-
-
- spazio-vettoriale.ts
-
-
-
-
-
-
-
-
- matrice.ts
-
-
-
-
-
-
-
-
-
-
- gauss.ts
-
-
-
-
-
Gli esempi sono stati generati utilizzando la funzione printOnOneLine
del modulo print.ts.
GNU Lesser General Public License v3.0 only
Copyright (C) 2021 Giuseppe Ferri
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.