> For the complete documentation index, see [llms.txt](https://documentation.soulver.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.soulver.app/it/sperimentale/x.md).

# Serie Soulver X

## Cos'è Soulver X Series?

Nel 2024, abbiamo intrapreso un progetto di ricerca e sviluppo pluriennale la missione di:

* Esplorare idee nuove e interessanti per Soulver
* Cercare nuove forme e nuovi flussi di lavoro
* Avventurarci con audacia dove nessun calcolatore da quaderno ha osato andare 🖖

Intendiamo rilasciare una nuova versione importante della serie X ogni anno.

### Sponsorship Soulver X Series

Se sei un utente di lunga data (o un mega-fan di Soulver) e sei entusiasta di questo lavoro, potresti considerare di [sponsorizzare la nostra missione su GitHub](https://soulver.app/sponsor).

Inoltre, come sponsor, avrai accesso al più recente prototipo della serie X (X3, X4, ecc.) con funzionalità mai viste prima nel dominio dei calcolatori da quaderno.

Il nostro team (molto) piccolo apprezzerebbe il supporto, e saremo in grado di dedicare più risorse a questo tipo di ricerca e sviluppo avanzato per calcolatori da quaderno.

## Soulver X2 (2025)

### Subsheets

* Un subsheet è un foglio separato che vive all'interno di un singolo token.
  * Crea un subsheet dal pulsante + nella barra delle schede.
  * Fai doppio clic sul token viola per aprire l'editor del subsheet.
* I subsheet possono fare riferimento a variabili del foglio principale (a condizione che le variabili siano dichiarate sopra la riga del subsheet).

### Token Slider con Intervalli

* Un token slider ti consente di specificare l'intervallo per uno slider scorrevole
  * Crea uno slider dal pulsante + nella barra delle schede.
  * Fai doppio clic sul token verde per aprire il popup dello slider.

### Linee divisorie

* Digita il trattino (-) tre volte per inserire una linea divisoria.
* Usa le linee divisorie per creare una maggiore separazione visiva tra le diverse parti del tuo foglio.

## Soulver X1 (2024)

X1 include le implementazioni delle richieste di funzionalità principali di Soulver, tra cui:

* [Supporto funzioni personalizzate](https://soulver.app/feedback) (*inclusi* *funzioni in linguaggio naturale*)
* [Condivisione di variabili tra fogli](https://soulver.app/feedback) (*tramite il nuovo foglio "header"*)
* [Connessione a Web API](https://soulver.app/feedback) (*con un semplice incolla e un paio di clic*)

### Schede

<figure><img src="/files/sBvjntLxGaygplrp3osg" alt=""><figcaption><p>Più schede in Soulver X1</p></figcaption></figure>

I documenti in Soulver X1 iniziano con una singola scheda, e puoi aggiungerne altre cliccando sul pulsante + a destra della barra delle schede.

**Rinomina le schede**

Fai doppio clic sul titolo di una scheda per assegnarle un nome alternativo. In alternativa, fai clic con il tasto destro sulla scheda e scegli "Rinomina".

**Eliminare le schede**

Quando passi il mouse su una scheda, fai clic sul pulsante x per eliminarla. In alternativa, fai clic con il tasto destro sulla scheda e scegli "Elimina"

{% hint style="warning" %}
Le schede sono una funzionalità in fase di sviluppo.

Non è ancora possibile riorganizzare le schede, e aggiungere troppe schede in un singolo documento non funziona correttamente.
{% endhint %}

### Il foglio header

L'header è un foglio dedicato alla definizione di variabili, unità, funzioni e valori web che possono essere utilizzati in tutte le schede del tuo documento.

<figure><img src="/files/JSklsZyJM7eXmy1ichI6" alt="" width="375"><figcaption></figcaption></figure>

### **Variabili trasversali alle schede**

Dichiara le variabili per il tuo documento nell'header nello stesso modo in cui dichiareresti variabili locali.

Ad esempio:

```
my variable = 123
```

`my variable` sarà disponibile in tutte le tue schede

{% hint style="info" %}
Le tue schede possono fare riferimento a variabili, ma non possono modificarne la definizione in modo che ciò si applichi ad altri fogli del documento.
{% endhint %}

### **Unità equivalenti**

Un'unità equivalente è definita in termini di un'unità esistente.

Definisci una nuova unità equivalente nell'header usando (ad esempio):

```
1 watermelon = 10 lb
```

<figure><img src="/files/cXBTh5zD3ZabPLiZ30ud" alt=""><figcaption><p>Dichiarare una nuova unità di massa in Soulver X1</p></figcaption></figure>

Il `watermelon` può ora essere utilizzato come unità di massa in tutte le tue schede.

<figure><img src="/files/Ad9BO4JaeT1PJe4h9EEP" alt=""><figcaption><p>Utilizzare un'unità equivalente personalizzata in Soulver X1</p></figcaption></figure>

{% hint style="info" %}
Soulver X1 pluralizza automaticamente la tua nuova unità (in inglese).

Quindi in questo esempio, sia "watermelons" sarà riconosciuto come un nome unità valido, anche se la definizione era "watermelon".
{% endhint %}

### **Unità generiche**

Un'unità equivalente è un tipo di unità completamente nuovo, non definito in termini di un'unità esistente.

Definisci una nuova unità generica nell'header usando (ad esempio):

```
operation = new unit
```

<figure><img src="/files/f8ILn3MxDwQJ2RIxUH60" alt=""><figcaption><p>Dichiarare un tipo di unità generica in Soulver X1</p></figcaption></figure>

L'unità `operation` può ora essere utilizzata in tutte le tue schede (inclusi i tassi):

<figure><img src="/files/yrApclgpkeameSQ8JXPJ" alt=""><figcaption><p>Utilizzare un'unità generica in Soulver X1</p></figcaption></figure>

### **Funzioni personalizzate**

**Introduzione**

Una funzione è un'espressione utile che prende un input e restituisce un output. In Soulver X1, puoi utilizzare (quasi) qualsiasi sintassi per una funzione, tra cui:

Stile C: `doSomething(123)`

Stile Swift: `doSomething(with: 123)`

Linguaggio naturale: `do something with 123`

**Per creare una nuova funzione personalizzata (nell'header)**

* Clicca su `Define New` > `Function`

**Scegliere un nome funzione:**

<figure><img src="/files/570gVTQbtoQ8RE3r6s8Q" alt=""><figcaption><p>Dichiarare una nuova funzione in Soulver X1</p></figcaption></figure>

* Definisci la tua funzione usando un esempio di come potresti usare la funzione in pratica.
* Scegli qualsiasi parametro (purché corrispondano al "tipo" di parametro che ti aspetti per la tua implementazione, come denaro, tempo, numeri decimali semplici, ecc.).

**Implementare la funzione:**

<figure><img src="/files/eTab68wVnUAGms6t4yde" alt=""><figcaption><p>Scrivere una funzione per calcolare l'imposta di vendita su una certa somma</p></figcaption></figure>

* Implementa la funzione in un foglio Soulver dedicato. Qualsiasi parametro verrà iniettato come token giallo.
* Passa il mouse su un token parametro per vedere a quale parametro si riferisce nella dichiarazione.
* L'ultima riga del foglio di implementazione verrà restituita come valore finale della funzione.

**Usare la funzione**

<figure><img src="/files/39DEjcqG1f4Zyud7u55X" alt=""><figcaption></figcaption></figure>

Usa la tua funzione con altri valori di input in tutte le tue schede

### **Valori web (connessione a API JSON)**

#### **Per creare un nuovo valore web (nell'header)**

* Clicca su `Define New` > `Web Value`

#### **Per connettersi a un particolare punto dati in un feed dati JSON**

<figure><img src="/files/PclfhKaYk0KNkh7Yk0Bq" alt=""><figcaption><p>Connettersi a un feed dati remoto in Soulver X1</p></figcaption></figure>

* Incolla un URL a un feed dati JSON e poi semplicemente fai clic sul punto dati a cui desideri connetterti

#### **Utilizzare un valore web**

* Il tuo valore web verrà assegnato a un nome variabile (di default, corrispondente alla sua descrizione nel feed JSON)
* Sei libero di cambiare il nome della variabile con qualcos'altro

#### **Aggiornare un valore web**

* Il tuo valore web verrà aggiornato automaticamente in background con la frequenza che hai specificato durante l'impostazione

#### **Modificare un valore web**

* Fai doppio clic sul token web giallo nell'header per specificare un punto dati diverso o cambiare la frequenza di aggiornamento

## Tipo di file Soulver X Series

{% hint style="warning" %}
Le app della serie Soulver X utilizzano un tipo di documento diverso (.slvrx) rispetto a Soulver.

Questo serve a supportare le nuove funzionalità che stiamo costruendo e sperimentando.

I file Soulver X (.slvrx) non possono essere modificati da Soulver 3 per Mac, iOS e iPad.
{% endhint %}
