<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="121011" data-post-id="121011">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="belgoros" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/120/39798_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  belgoros
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thank you for your response. When trying to use <code>?</code>as follows:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">def to_rna(dna) do
    Enum.map_join(dna, &amp;convert(&amp;1))
  end

  defp convert(?G) do
    'C'
  end
</code></pre>
<p>the test:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">assert RNATranscription.to_rna('G') == 'C'
</code></pre>
<p>fails with:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">Assertion with == failed
     code:  assert RNATranscription.to_rna('G') == 'C'
     left:  "C"
     right: 'C'
     stacktrace:
</code></pre>
<p>I think it’s because of <code> Enum.map_join</code> joiner <img src="https://forum.elixirforum.com/images/emoji/apple/frowning.png?v=15" title=":frowning:" class="emoji" alt=":frowning:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121011" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-121011" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121011"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #11"></div>
  </section>
</div>
    <div class="postbit" id="121013" data-post-id="121013">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="peerreynders" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/peerreynders/120/5826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  peerreynders
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://hexdocs.pm/elixir/Enum.html#map_join/3" rel="noopener nofollow ugc"><code>Enum.map_join/3</code></a>:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">map_join(enumerable, joiner \\ "", mapper) View Source
map_join(t(), String.t(), (element() -&gt; String.Chars.t())) :: String.t()
</code></pre>
<p>i.e. it returns a <a href="https://hexdocs.pm/elixir/String.html#t:t/0" rel="noopener nofollow ugc"><code>String.t()</code></a>, you’re looking for <a href="https://hexdocs.pm/elixir/typespecs.html#built-in-types" rel="noopener nofollow ugc"><code>charlist()</code></a> (or <code>[char()]</code>).</p>
<p><a href="https://hexdocs.pm/elixir/Enum.html#map/2" rel="noopener nofollow ugc"><code>Enum.map/2</code></a>:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">map(enumerable, fun) View Source
map(t(), (element() -&gt; any())) :: list()
</code></pre>
<p>returns <code>list()</code> or <code>[any()]</code> or more accurately a list of the type returned by the mapping function, e.g.:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">map([char()], (char() -&gt; char())) :: [char()]
</code></pre>
<p>something like</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">map([typeA()], (typeA() -&gt; typeB())) :: [typeB()]
</code></pre>
<p>It’s just that <a href="https://hexdocs.pm/elixir/Enumerable.html#t:t/0" rel="noopener nofollow ugc"><code>Enumerable.t()</code></a> is anything that has an implementation of the <a href="https://hexdocs.pm/elixir/Enumerable.html" rel="noopener nofollow ugc">Enumerable protocol</a> (which <code>list()</code> does).</p>
<ul>
<li><code>charlist()</code> is literally a list of character valued integers</li>
<li><code>String.t()</code> is a <code>binary()</code>, a contiguous chunk of memory where each byte is a UTF-8 <a href="https://hexdocs.pm/elixir/String.html#codepoints/1" rel="noopener nofollow ugc">codepoint</a>.</li>
</ul>
<aside class="quote" data-post="1" data-topic="20671">
  <div class="title">
    <div class="quote-controls"></div>
    <img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ream88/48/8667_2.png" class="avatar">
    <div class="quote-title__text-content">
      <a href="https://forum.elixirforum.com/t/whats-up-with-7-8/20671" rel="nofollow">Whats up with `[7,8]`?</a> <a class="badge-category__wrapper " href="/c/questions-help/questions/53" rel="nofollow"><span data-category-id="53" style="--category-badge-color: #C14BFB; --category-badge-text-color: #000000; --parent-category-badge-color: #C14BFB;" data-parent-category-id="171" data-drop-close="true" class="badge-category --style-square --has-parent" title="Elixir Questions / Help"><span class="badge-category__name">Questions</span></span></a>
    </div>
  </div>
  <blockquote>
    I was playing around with Flow/GenStage and had a producer emitting integers, pushing through the official GenStage RateLimitier example. And then something really weird happened: 
[1, 2]
[3, 4]
[5, 6]
'\a\b'
'\t\n'

What is going on here? Why is [7,8] printed as '\a\b'?
  </blockquote>
</aside>
 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121013" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-121013" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121013"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="121015" data-post-id="121015">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="belgoros" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/120/39798_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  belgoros
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Is it one of the solutions would as follows or there are other Enum, String, Enumerable, etc. hiddent functions ?</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">def to_rna(dna) do
    Enum.map(dna, &amp;convert(&amp;1))
  end

  defp convert(?G) do
    ?C
  end

test "transcribes guanine to cytosine" do
    assert RNATranscription.to_rna('G') == 'C'
  end
</code></pre>
<p>By the way, where does it come from, this <code>?</code> sign, - I find it nowhere in official guides.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121015" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-121015" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121015"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #13"></div>
  </section>
</div>
    <div class="postbit" id="121016" data-post-id="121016">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="belgoros" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/120/39798_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  belgoros
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The complete module:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">@spec to_rna([char]) :: [char]
  def to_rna(dna) do
    Enum.map(dna, &amp;convert(&amp;1))
  end

  defp convert(?G) do
    ?C
  end

  defp convert(?C) do
    ?G
  end

  defp convert(?T) do
    ?A
  end

  defp convert(?A) do
    ?U
  end

  defp convert(letter) do
    IO.puts(:stderr, "Couldn't find matching for #{letter}")
    letter
  end
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121016" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-121016" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121016"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="121017" data-post-id="121017">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="belgoros" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/120/39798_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  belgoros
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Ahr, I <a href="https://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html" rel="nofollow">found</a> it, - some words about the use of  <code>?</code> sign:</p>
<blockquote>
<p>UTF-8 requires one byte to represent the characters  <code>h</code> ,  <code>e</code> , and  <code>o</code> , but two bytes to represent  <code>ł</code> . In Elixir, you can get a character’s code point by using  <code>?</code></p>
</blockquote>
<p>Thank you guys, really helpful !</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121017" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-121017" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121017"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="121018" data-post-id="121018">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="peerreynders" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/peerreynders/120/5826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  peerreynders
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="belgoros" data-post="14" data-topic="21033">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/48/39798_2.png" class="avatar"> belgoros:</div>
<blockquote>
<p>By the way, where does it come from, this <code>?</code> sign, - I find it nowhere in official guides.</p>
</blockquote>
</aside>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html#utf-8-and-unicode">
  <header class="source">

      <a href="https://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html#utf-8-and-unicode" target="_blank" rel="noopener nofollow">elixir-lang.org</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://elixir-lang.org/getting-started/binaries-strings-and-char-lists.html#utf-8-and-unicode" target="_blank" rel="noopener nofollow">Binaries, strings, and charlists — Elixir v1.20.2</a></h3>



  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<blockquote>
<p>In Elixir, you can get a character’s code point by using  <code>?</code></p>
</blockquote>
<aside class="onebox allowlistedgeneric" data-onebox-src="https://elixir.hexdocs.pm/String.html">
  <header class="source">

      <a href="https://elixir.hexdocs.pm/String.html" target="_blank" rel="noopener nofollow ugc">elixir.hexdocs.pm</a>
  </header>

  <article class="onebox-body">
    

<h3><a href="https://elixir.hexdocs.pm/String.html" target="_blank" rel="noopener nofollow ugc">String — Elixir v1.20.2</a></h3>



  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<blockquote>
<p>There are a couple of ways to retrieve a character integer codepoint. One may use the  <code>?</code>  construct:</p>
</blockquote>
<hr>
<blockquote>
<p>or there are other Enum, String, Enumerable, etc. hidden functions ?</p>
</blockquote>
<p>I’m not sure what you are asking …</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121018" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-121018" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121018"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="121019" data-post-id="121019">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Eiji" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Eiji/120/36743_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Eiji
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="belgoros" data-post="14" data-topic="21033">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/48/39798_2.png" class="avatar"> belgoros:</div>
<blockquote>
<p>By the way, where does it come from, this <code>?</code> sign, - I find it nowhere in official guides.</p>
</blockquote>
</aside>
<p><a href="https://hexdocs.pm/elixir/master/syntax-reference.html#integers-in-other-bases-and-unicode-code-points" class="onebox" target="_blank" rel="noopener nofollow ugc">https://hexdocs.pm/elixir/master/syntax-reference.html#integers-in-other-bases-and-unicode-code-points</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121019" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-121019" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121019"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="121021" data-post-id="121021">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="belgoros" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/120/39798_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  belgoros
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I asked because it looked a little bit weird for me to compare two characters by using <code>?</code> sign instead of <code>===</code> or <code>==</code> or just <code>equals</code> that exist in other languages. More of that, I also have to return the character to replace with using the same <code>?</code> sign.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121021" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-121021" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121021"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="121022" data-post-id="121022">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="peerreynders" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/peerreynders/120/5826_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  peerreynders
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="belgoros" data-post="19" data-topic="21033">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/48/39798_2.png" class="avatar"> belgoros:</div>
<blockquote>
<p>it looked a little bit weird for me to compare two characters by using <code>?</code></p>
</blockquote>
</aside>
<p><code>?</code> simply generates the integer (codepoints) that is equivalent to the character, which in the case of ASCII will fit into 8 bits. What you call a comparison is actually a pattern match.</p>
<ul>
<li>A pattern match is a conditional construct.</li>
<li>When a pattern match in a function head succeeds that function clause is  evaluated</li>
<li>When the pattern match fails the next function head is attempted.</li>
<li>When you run out of function heads (i.e. each head failed the match) the program crashes.</li>
</ul>
<pre data-code-wrap="elixir"><code class="lang-elixir">  defp convert(letter) do
    case letter do
      ?G -&gt;
        ?C

      ?C -&gt;
        ?U

      ?T -&gt;
        ?A

      ?A -&gt;
        ?U

      _ -&gt;
        IO.puts(:stderr, "Couldn't find matching for #{letter}")
        letter
    end
  end
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121022" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-121022" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121022"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="121127" data-post-id="121127">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="belgoros" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/belgoros/120/39798_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  belgoros
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yep, thank you! Here is <a href="https://brainlid.org/elixir/2019/03/06/pattern-match-format-text.html" rel="noopener nofollow ugc">another article</a> I found about it.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="121127" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/comparison-of-single-quoted-and-double-quotes-strings/21033/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-121127" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="121127"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/21033/load_more?page=3">Load more posts (1 remaining)</a>
</div></template></turbo-stream>