# Rules et Range

## Rules

Le champ rules est un paramètre optionnel souvant utilisé pour les nombres et le booléen afin de préciser son range ou sa probabilité d'apparation. Il est utilisé par plusieurs types, sont utilisation reste optionnel si le champ n'est pas important. Son utilisation et ses paramètres seront expliqué et défini dans les explication de chaque type.

### Allowed Value&#x20;

Voir l'explication de [allowedValue](#allowed-value) mais il se place dans rules

### Count pour le type Array

Lors de la description d'un champ de type array il est possible de lui préciser le nombre de fois qu'il répéter les valeurs dans son tableau. Dans le cas ci dessous cela va reproduire au sein du tableau test et nb 3 fois .

exemple:&#x20;

```yaml
- fieldName : tableau  
  type : array
  rules:
   count: 3
  fields:
   - fieldName :  test
     type : string 
   - fieldName: nb 
     type integer
```

Résultat :

```json
{
...
tableau : ["ok", 3, "maman", 9, "outils", 14]
}
```

## Range

Le mot clés range est optionnel et permet de spécifié un minimum et un maximum pour un nombre entier (integer), un nombre décimal (float) ou une probablité d'appartion de true  pour un booléen.

Range doit être toujours dans un champ rules&#x20;

### min et max

les mot clés min et max permette d'etablir un minimum et un maximum pour la valeur de type integer ou float.

```yaml
- fieldName : boolvalue 
  type : integer 
  rules:
    range: 
      min : -12 
      max : 40
```

### probability ( pour les types booléens )

Permet de spécifier la probabilité souhaité d'apparition de true (faire 1- probabilité de true pour ajouter la probabilité de false si souhaité )

```yaml
- fieldName : boolvalue 
  type : boolean 
  rules:
    range: 
      probability : 0.7 # probabilité d'avoir un true 
    
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dataset-generation-doc.gitbook.io/dataset-generation-doc/interactive-blocks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
