From c2f5dd5a6a0c52eaa7cae23c266e29c0b28d49c4 Mon Sep 17 00:00:00 2001 From: Maksym Verbovyi Date: Wed, 5 Jun 2024 15:07:57 +0200 Subject: [PATCH 1/2] Correct example in the docs --- lib/elixir/pages/anti-patterns/design-anti-patterns.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/elixir/pages/anti-patterns/design-anti-patterns.md b/lib/elixir/pages/anti-patterns/design-anti-patterns.md index 5423682cfc8..61bb429745f 100644 --- a/lib/elixir/pages/anti-patterns/design-anti-patterns.md +++ b/lib/elixir/pages/anti-patterns/design-anti-patterns.md @@ -32,9 +32,9 @@ end iex> AlternativeInteger.parse("13") 13 iex> AlternativeInteger.parse("13", discard_rest: true) -13 -iex> AlternativeInteger.parse("13", discard_rest: false) {13, ""} +iex> AlternativeInteger.parse("13", discard_rest: false) +13 ``` #### Refactoring From 35ce913731705459e5a01a0a0361a98eef914a47 Mon Sep 17 00:00:00 2001 From: Maksym Verbovyi Date: Wed, 5 Jun 2024 15:21:00 +0200 Subject: [PATCH 2/2] fix the logic --- lib/elixir/pages/anti-patterns/design-anti-patterns.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/elixir/pages/anti-patterns/design-anti-patterns.md b/lib/elixir/pages/anti-patterns/design-anti-patterns.md index 61bb429745f..68fb3f45428 100644 --- a/lib/elixir/pages/anti-patterns/design-anti-patterns.md +++ b/lib/elixir/pages/anti-patterns/design-anti-patterns.md @@ -17,12 +17,12 @@ defmodule AlternativeInteger do @spec parse(String.t(), keyword()) :: integer() | {integer(), String.t()} | :error def parse(string, options \\ []) when is_list(options) do if Keyword.get(options, :discard_rest, false) do - Integer.parse(string) - else case Integer.parse(string) do {int, _rest} -> int :error -> :error end + else + Integer.parse(string) end end end @@ -30,10 +30,10 @@ end ```elixir iex> AlternativeInteger.parse("13") -13 -iex> AlternativeInteger.parse("13", discard_rest: true) {13, ""} iex> AlternativeInteger.parse("13", discard_rest: false) +{13, ""} +iex> AlternativeInteger.parse("13", discard_rest: true) 13 ```