# Elixir · ExDoc

Real ExDoc HTML output from the checked-in elixir fixture source. Generated artifacts, commands, versions, and SHA-256 hashes are recorded under sources/native. This is a teaching library, not a published SDK.

> Source: https://appgram.github.io/docsy/versions/current/es/elixir-sdk  
> Language: elixir  
> Symbols: 4 across 2 categories

## Categories

- [Modules](#modules) — 1 items
- [Functions](#functions) — 3 items

## Modules

### `Greeter`  <sub>module</sub>

Build personalized greetings without network access.

```elixir
defmodule Greeter
```

**Example**

```elixir
iex> Greeter.greet("Docsy")
"Hello, Docsy"
```

## Functions

### `greet_checked(name)`  <sub>function</sub>

Reject an empty reader name. Raises ArgumentError when name is empty.

**Parameters**

| Name | Type | Required | Description |

| --- | --- | --- | --- |

| `name` | `String.t()` | ✓ |  |

**Returns** — `String.t()`

```elixir
@spec greet_checked(String.t()) :: String.t()
```

**Example**

```elixir
iex> Greeter.greet_checked("Ada")
"Hello, Ada"
```

---

### `greet_many(names)`  <sub>function</sub>

Greet several readers while preserving input order.

**Parameters**

| Name | Type | Required | Description |

| --- | --- | --- | --- |

| `names` | `[String.t()]` | ✓ |  |

**Returns** — `[String.t()]`

```elixir
@spec greet_many([String.t()]) :: [String.t()]
```

**Example**

```elixir
iex> Greeter.greet_many(["Ada", "Linus"])
["Hello, Ada", "Hello, Linus"]
```

---

### `greet(name)`  <sub>function</sub>

Greet a reader.

**Parameters**

| Name | Type | Required | Description |

| --- | --- | --- | --- |

| `name` | `String.t()` | ✓ |  |

**Returns** — `String.t()`

```elixir
@spec greet(String.t()) :: String.t()
```

**Example**

```elixir
iex> Greeter.greet("Ada")
"Hello, Ada"
```
