Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 016232f1d9a3f7bee85855d35a2bca58 > files > 96

elixir-doc-1.7.2-1.mga7.noarch.rpm

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="ExDoc v0.19.1">
    <title>Path – Elixir v1.7.2</title>
    <link rel="stylesheet" href="dist/app-240d7fc7e5.css" />
      <link rel="canonical" href="https://hexdocs.pm/elixir/v1.7/Path.html" />
    <script src="dist/sidebar_items-cdf4e58b19.js"></script>
    
  </head>
  <body data-type="modules">
    <script>try { if(localStorage.getItem('night-mode')) document.body.className += ' night-mode'; } catch (e) { }</script>
    <div class="main">
<button class="sidebar-button sidebar-toggle">
  <span class="icon-menu" aria-hidden="true"></span>
  <span class="sr-only">Toggle Sidebar</span>
</button>
<button class="sidebar-button night-mode-toggle">
  <span class="icon-theme" aria-hidden="true"></span>
  <span class="sr-only">Toggle Theme</span>
</button>
<section class="sidebar">

  <a href="http://elixir-lang.org/docs.html" class="sidebar-projectLink">
    <div class="sidebar-projectDetails">
      <h1 class="sidebar-projectName">
Elixir      </h1>
      <h2 class="sidebar-projectVersion">
        v1.7.2
      </h2>
    </div>
      <img src="assets/logo.png" alt="Elixir" class="sidebar-projectImage">
  </a>

  <form class="sidebar-search" action="search.html">
    <button type="submit" class="search-button">
      <span class="icon-search" aria-hidden="true"></span>
    </button>
    <input name="q" type="text" id="search-list" class="search-input" placeholder="Search" aria-label="Search" autocomplete="off" />
  </form>

  <ul class="sidebar-listNav">
    <li><a id="extras-list" href="#full-list">Pages</a></li>

      <li><a id="modules-list" href="#full-list">Modules</a></li>

      <li><a id="exceptions-list" href="#full-list">Exceptions</a></li>

  </ul>
  <div class="gradient"></div>
  <ul id="full-list" class="sidebar-fullList"></ul>
</section>

<section class="content">
  <div class="content-outer">
    <div id="content" class="content-inner">


      <h1>
        <small class="visible-xs">Elixir v1.7.2</small>
Path        
          <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L1" title="View Source" class="view-source" rel="help">
            <span class="icon-code" aria-hidden="true"></span>
            <span class="sr-only">View Source</span>
          </a>
      </h1>


        <section id="moduledoc">
<p>This module provides conveniences for manipulating or
retrieving file system paths.</p>
<p>The functions in this module may receive a chardata as
argument (i.e. a string or a list of characters / string)
and will always return a string (encoded in UTF-8).</p>
<p>The majority of the functions in this module do not
interact with the file system, except for a few functions
that require it (like <a href="#wildcard/2"><code class="inline">wildcard/2</code></a> and <a href="#expand/1"><code class="inline">expand/1</code></a>).</p>
        </section>

        <section id="summary" class="details-list">
          <h1 class="section-heading">
            <a class="hover-link" href="#summary">
              <span class="icon-link" aria-hidden="true"></span>
              <span class="sr-only">Link to this section</span>
            </a>
            Summary
          </h1>
  <div class="summary-types summary">
    <h2>
      <a href="#types">Types</a>
    </h2>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#t:t/0">t()</a>
  </div>
</div>
  </div>
          
  <div class="summary-functions summary">
    <h2>
      <a href="#functions">Functions</a>
    </h2>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#absname/1">absname(path)</a>
  </div>
    <div class="summary-synopsis"><p>Converts the given path to an absolute one. Unlike
<a href="#expand/1"><code class="inline">expand/1</code></a>, no attempt is made to resolve <code class="inline">..</code>, <code class="inline">.</code> or <code class="inline">~</code></p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#absname/2">absname(path, relative_to)</a>
  </div>
    <div class="summary-synopsis"><p>Builds a path from <code class="inline">relative_to</code> to <code class="inline">path</code></p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#basename/1">basename(path)</a>
  </div>
    <div class="summary-synopsis"><p>Returns the last component of the path or the path
itself if it does not contain any directory separators</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#basename/2">basename(path, extension)</a>
  </div>
    <div class="summary-synopsis"><p>Returns the last component of <code class="inline">path</code> with the <code class="inline">extension</code>
stripped</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#dirname/1">dirname(path)</a>
  </div>
    <div class="summary-synopsis"><p>Returns the directory component of <code class="inline">path</code></p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#expand/1">expand(path)</a>
  </div>
    <div class="summary-synopsis"><p>Converts the path to an absolute one and expands
any <code class="inline">.</code> and <code class="inline">..</code> characters and a leading <code class="inline">~</code></p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#expand/2">expand(path, relative_to)</a>
  </div>
    <div class="summary-synopsis"><p>Expands the path relative to the path given as the second argument
expanding any <code class="inline">.</code> and <code class="inline">..</code> characters</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#extname/1">extname(path)</a>
  </div>
    <div class="summary-synopsis"><p>Returns the extension of the last component of <code class="inline">path</code></p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#join/1">join(list)</a>
  </div>
    <div class="summary-synopsis"><p>Joins a list of paths</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#join/2">join(left, right)</a>
  </div>
    <div class="summary-synopsis"><p>Joins two paths</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#relative/1">relative(name)</a>
  </div>
    <div class="summary-synopsis"><p>Forces the path to be a relative path</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#relative_to/2">relative_to(path, from)</a>
  </div>
    <div class="summary-synopsis"><p>Returns the given <code class="inline">path</code> relative to the given <code class="inline">from</code> path</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#relative_to_cwd/1">relative_to_cwd(path)</a>
  </div>
    <div class="summary-synopsis"><p>Convenience to get the path relative to the current working
directory</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#rootname/1">rootname(path)</a>
  </div>
    <div class="summary-synopsis"><p>Returns the <code class="inline">path</code> with the <code class="inline">extension</code> stripped</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#rootname/2">rootname(path, extension)</a>
  </div>
    <div class="summary-synopsis"><p>Returns the <code class="inline">path</code> with the <code class="inline">extension</code> stripped</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#split/1">split(path)</a>
  </div>
    <div class="summary-synopsis"><p>Splits the path into a list at the path separator</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#type/1">type(name)</a>
  </div>
    <div class="summary-synopsis"><p>Returns the path type</p>
</div>
</div>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#wildcard/2">wildcard(glob, opts \\ [])</a>
  </div>
    <div class="summary-synopsis"><p>Traverses paths according to the given <code class="inline">glob</code> expression and returns a
list of matches</p>
</div>
</div>
  </div>
          
        </section>

        <section id="types" class="details-list">
          <h1 class="section-heading">
            <a class="hover-link" href="#types">
              <span class="icon-link" aria-hidden="true"></span>
              <span class="sr-only">Link to this section</span>
            </a>
            Types
          </h1>
          <div class="types-list">
<div class="detail" id="t:t/0">
    <div class="detail-header">
    <a href="#t:t/0" class="detail-link" title="Link to this type">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this type</span>
    </a>
    <span class="signature">t()</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L15" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>t() :: <a href="http://www.erlang.org/doc/man/unicode.html#type-chardata">:unicode.chardata</a>()</pre>
      </div>
  </div>
  <section class="docstring">
  </section>
</div>
          </div>
        </section>


        <section id="functions" class="details-list">
          <h1 class="section-heading">
            <a class="hover-link" href="#functions">
              <span class="icon-link" aria-hidden="true"></span>
              <span class="sr-only">Link to this section</span>
            </a>
            Functions
          </h1>
<div class="detail" id="absname/1">
    <div class="detail-header">
    <a href="#absname/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">absname(path)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L40" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>absname(<a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Converts the given path to an absolute one. Unlike
<a href="#expand/1"><code class="inline">expand/1</code></a>, no attempt is made to resolve <code class="inline">..</code>, <code class="inline">.</code> or <code class="inline">~</code>.</p>
<h2 id="absname/1-examples" class="section-heading">
  <a href="#absname/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<h3 id="absname/1-unix" class="section-heading">
  <a href="#absname/1-unix" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Unix
</h3>

<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">absname</span><span class="p" data-group-id="3587949965-1">(</span><span class="s">&quot;foo&quot;</span><span class="p" data-group-id="3587949965-1">)</span><span class="w">
</span><span class="c1">#=&gt; &quot;/usr/local/foo&quot;</span><span class="w">

</span><span class="nc">Path</span><span class="o">.</span><span class="n">absname</span><span class="p" data-group-id="3587949965-2">(</span><span class="s">&quot;../x&quot;</span><span class="p" data-group-id="3587949965-2">)</span><span class="w">
</span><span class="c1">#=&gt; &quot;/usr/local/../x&quot;</span></code></pre>
<h3 id="absname/1-windows" class="section-heading">
  <a href="#absname/1-windows" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Windows
</h3>

<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">absname</span><span class="p" data-group-id="7019816335-1">(</span><span class="s">&quot;foo&quot;</span><span class="p" data-group-id="7019816335-1">)</span><span class="o">.</span><span class="w">
</span><span class="c1">#=&gt; &quot;D:/usr/local/foo&quot;</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">absname</span><span class="p" data-group-id="7019816335-2">(</span><span class="s">&quot;../x&quot;</span><span class="p" data-group-id="7019816335-2">)</span><span class="o">.</span><span class="w">
</span><span class="c1">#=&gt; &quot;D:/usr/local/../x&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="absname/2">
    <div class="detail-header">
    <a href="#absname/2" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">absname(path, relative_to)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L63" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>absname(<a href="#t:t/0">t</a>(), <a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Builds a path from <code class="inline">relative_to</code> to <code class="inline">path</code>.</p>
<p>If <code class="inline">path</code> is already an absolute path, <code class="inline">relative_to</code> is ignored. See also
<a href="#relative_to/2"><code class="inline">relative_to/2</code></a>.</p>
<p>Unlike <a href="#expand/2"><code class="inline">expand/2</code></a>, no attempt is made to
resolve <code class="inline">..</code>, <code class="inline">.</code> or <code class="inline">~</code>.</p>
<h2 id="absname/2-examples" class="section-heading">
  <a href="#absname/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">absname</span><span class="p" data-group-id="9676953944-1">(</span><span class="s">&quot;foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;bar&quot;</span><span class="p" data-group-id="9676953944-1">)</span><span class="w">
</span><span class="s">&quot;bar/foo&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">absname</span><span class="p" data-group-id="9676953944-2">(</span><span class="s">&quot;../x&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;bar&quot;</span><span class="p" data-group-id="9676953944-2">)</span><span class="w">
</span><span class="s">&quot;bar/../x&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="basename/1">
    <div class="detail-header">
    <a href="#basename/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">basename(path)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L360" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>basename(<a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Returns the last component of the path or the path
itself if it does not contain any directory separators.</p>
<h2 id="basename/1-examples" class="section-heading">
  <a href="#basename/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">basename</span><span class="p" data-group-id="9487002623-1">(</span><span class="s">&quot;foo&quot;</span><span class="p" data-group-id="9487002623-1">)</span><span class="w">
</span><span class="s">&quot;foo&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">basename</span><span class="p" data-group-id="9487002623-2">(</span><span class="s">&quot;foo/bar&quot;</span><span class="p" data-group-id="9487002623-2">)</span><span class="w">
</span><span class="s">&quot;bar&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">basename</span><span class="p" data-group-id="9487002623-3">(</span><span class="s">&quot;/&quot;</span><span class="p" data-group-id="9487002623-3">)</span><span class="w">
</span><span class="s">&quot;&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="basename/2">
    <div class="detail-header">
    <a href="#basename/2" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">basename(path, extension)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L384" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>basename(<a href="#t:t/0">t</a>(), <a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Returns the last component of <code class="inline">path</code> with the <code class="inline">extension</code>
stripped.</p>
<p>This function should be used to remove a specific
extension which may or may not be there.</p>
<h2 id="basename/2-examples" class="section-heading">
  <a href="#basename/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">basename</span><span class="p" data-group-id="6920189677-1">(</span><span class="s">&quot;~/foo/bar.ex&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;.ex&quot;</span><span class="p" data-group-id="6920189677-1">)</span><span class="w">
</span><span class="s">&quot;bar&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">basename</span><span class="p" data-group-id="6920189677-2">(</span><span class="s">&quot;~/foo/bar.exs&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;.ex&quot;</span><span class="p" data-group-id="6920189677-2">)</span><span class="w">
</span><span class="s">&quot;bar.exs&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">basename</span><span class="p" data-group-id="6920189677-3">(</span><span class="s">&quot;~/foo/bar.old.ex&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;.ex&quot;</span><span class="p" data-group-id="6920189677-3">)</span><span class="w">
</span><span class="s">&quot;bar.old&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="dirname/1">
    <div class="detail-header">
    <a href="#dirname/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">dirname(path)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L404" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>dirname(<a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Returns the directory component of <code class="inline">path</code>.</p>
<h2 id="dirname/1-examples" class="section-heading">
  <a href="#dirname/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">dirname</span><span class="p" data-group-id="3058953024-1">(</span><span class="s">&quot;/foo/bar.ex&quot;</span><span class="p" data-group-id="3058953024-1">)</span><span class="w">
</span><span class="s">&quot;/foo&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">dirname</span><span class="p" data-group-id="3058953024-2">(</span><span class="s">&quot;/foo/bar/baz.ex&quot;</span><span class="p" data-group-id="3058953024-2">)</span><span class="w">
</span><span class="s">&quot;/foo/bar&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">dirname</span><span class="p" data-group-id="3058953024-3">(</span><span class="s">&quot;/foo/bar/&quot;</span><span class="p" data-group-id="3058953024-3">)</span><span class="w">
</span><span class="s">&quot;/foo/bar&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="expand/1">
    <div class="detail-header">
    <a href="#expand/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">expand(path)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L152" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>expand(<a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Converts the path to an absolute one and expands
any <code class="inline">.</code> and <code class="inline">..</code> characters and a leading <code class="inline">~</code>.</p>
<h2 id="expand/1-examples" class="section-heading">
  <a href="#expand/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">expand</span><span class="p" data-group-id="6951881113-1">(</span><span class="s">&quot;/foo/bar/../bar&quot;</span><span class="p" data-group-id="6951881113-1">)</span><span class="w">
</span><span class="c1">#=&gt; &quot;/foo/bar&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="expand/2">
    <div class="detail-header">
    <a href="#expand/2" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">expand(path, relative_to)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L180" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>expand(<a href="#t:t/0">t</a>(), <a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Expands the path relative to the path given as the second argument
expanding any <code class="inline">.</code> and <code class="inline">..</code> characters.</p>
<p>If the path is already an absolute path, <code class="inline">relative_to</code> is ignored.</p>
<p>Note that this function treats a <code class="inline">path</code> with a leading <code class="inline">~</code> as
an absolute one.</p>
<p>The second argument is first expanded to an absolute path.</p>
<h2 id="expand/2-examples" class="section-heading">
  <a href="#expand/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="c1"># Assuming that the absolute path to baz is /quux/baz</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">expand</span><span class="p" data-group-id="1121774754-1">(</span><span class="s">&quot;foo/bar/../bar&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;baz&quot;</span><span class="p" data-group-id="1121774754-1">)</span><span class="w">
</span><span class="c1">#=&gt; &quot;/quux/baz/foo/bar&quot;</span><span class="w">

</span><span class="nc">Path</span><span class="o">.</span><span class="n">expand</span><span class="p" data-group-id="1121774754-2">(</span><span class="s">&quot;foo/bar/../bar&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/baz&quot;</span><span class="p" data-group-id="1121774754-2">)</span><span class="w">
</span><span class="s">&quot;/baz/foo/bar&quot;</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">expand</span><span class="p" data-group-id="1121774754-3">(</span><span class="s">&quot;/foo/bar/../bar&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/baz&quot;</span><span class="p" data-group-id="1121774754-3">)</span><span class="w">
</span><span class="s">&quot;/foo/bar&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="extname/1">
    <div class="detail-header">
    <a href="#extname/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">extname(path)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L421" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>extname(<a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Returns the extension of the last component of <code class="inline">path</code>.</p>
<h2 id="extname/1-examples" class="section-heading">
  <a href="#extname/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">extname</span><span class="p" data-group-id="8909086772-1">(</span><span class="s">&quot;foo.erl&quot;</span><span class="p" data-group-id="8909086772-1">)</span><span class="w">
</span><span class="s">&quot;.erl&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">extname</span><span class="p" data-group-id="8909086772-2">(</span><span class="s">&quot;~/foo/bar&quot;</span><span class="p" data-group-id="8909086772-2">)</span><span class="w">
</span><span class="s">&quot;&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="join/1">
    <div class="detail-header">
    <a href="#join/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">join(list)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L482" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>join([<a href="#t:t/0">t</a>(), ...]) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Joins a list of paths.</p>
<p>This function should be used to convert a list of paths to a path.
Note that any trailing slash is removed when joining.</p>
<h2 id="join/1-examples" class="section-heading">
  <a href="#join/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">join</span><span class="p" data-group-id="4438074907-1">(</span><span class="p" data-group-id="4438074907-2">[</span><span class="s">&quot;~&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;foo&quot;</span><span class="p" data-group-id="4438074907-2">]</span><span class="p" data-group-id="4438074907-1">)</span><span class="w">
</span><span class="s">&quot;~/foo&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">join</span><span class="p" data-group-id="4438074907-3">(</span><span class="p" data-group-id="4438074907-4">[</span><span class="s">&quot;foo&quot;</span><span class="p" data-group-id="4438074907-4">]</span><span class="p" data-group-id="4438074907-3">)</span><span class="w">
</span><span class="s">&quot;foo&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">join</span><span class="p" data-group-id="4438074907-5">(</span><span class="p" data-group-id="4438074907-6">[</span><span class="s">&quot;/&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;bar/&quot;</span><span class="p" data-group-id="4438074907-6">]</span><span class="p" data-group-id="4438074907-5">)</span><span class="w">
</span><span class="s">&quot;/foo/bar&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="join/2">
    <div class="detail-header">
    <a href="#join/2" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">join(left, right)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L509" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>join(<a href="#t:t/0">t</a>(), <a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Joins two paths.</p>
<p>The right path will always be expanded to its relative format
and any trailing slash will be removed when joining.</p>
<h2 id="join/2-examples" class="section-heading">
  <a href="#join/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">join</span><span class="p" data-group-id="8534172397-1">(</span><span class="s">&quot;foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;bar&quot;</span><span class="p" data-group-id="8534172397-1">)</span><span class="w">
</span><span class="s">&quot;foo/bar&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">join</span><span class="p" data-group-id="8534172397-2">(</span><span class="s">&quot;/foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/bar/&quot;</span><span class="p" data-group-id="8534172397-2">)</span><span class="w">
</span><span class="s">&quot;/foo/bar&quot;</span></code></pre>
<p>The functions in this module support chardata, so giving a list will
treat it as a single entity:</p>
<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">join</span><span class="p" data-group-id="6828103421-1">(</span><span class="s">&quot;foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6828103421-2">[</span><span class="s">&quot;bar&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;fiz&quot;</span><span class="p" data-group-id="6828103421-2">]</span><span class="p" data-group-id="6828103421-1">)</span><span class="w">
</span><span class="s">&quot;foo/barfiz&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">join</span><span class="p" data-group-id="6828103421-3">(</span><span class="p" data-group-id="6828103421-4">[</span><span class="s">&quot;foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;bar&quot;</span><span class="p" data-group-id="6828103421-4">]</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;fiz&quot;</span><span class="p" data-group-id="6828103421-3">)</span><span class="w">
</span><span class="s">&quot;foobar/fiz&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="relative/1">
    <div class="detail-header">
    <a href="#relative/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">relative(name)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L232" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>relative(<a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Forces the path to be a relative path.</p>
<h2 id="relative/1-examples" class="section-heading">
  <a href="#relative/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<h3 id="relative/1-unix" class="section-heading">
  <a href="#relative/1-unix" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Unix
</h3>

<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">relative</span><span class="p" data-group-id="7167673105-1">(</span><span class="s">&quot;/usr/local/bin&quot;</span><span class="p" data-group-id="7167673105-1">)</span><span class="w">   </span><span class="c1">#=&gt; &quot;usr/local/bin&quot;</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">relative</span><span class="p" data-group-id="7167673105-2">(</span><span class="s">&quot;usr/local/bin&quot;</span><span class="p" data-group-id="7167673105-2">)</span><span class="w">    </span><span class="c1">#=&gt; &quot;usr/local/bin&quot;</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">relative</span><span class="p" data-group-id="7167673105-3">(</span><span class="s">&quot;../usr/local/bin&quot;</span><span class="p" data-group-id="7167673105-3">)</span><span class="w"> </span><span class="c1">#=&gt; &quot;../usr/local/bin&quot;</span></code></pre>
<h3 id="relative/1-windows" class="section-heading">
  <a href="#relative/1-windows" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Windows
</h3>

<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">relative</span><span class="p" data-group-id="8111720477-1">(</span><span class="s">&quot;D:/usr/local/bin&quot;</span><span class="p" data-group-id="8111720477-1">)</span><span class="w"> </span><span class="c1">#=&gt; &quot;usr/local/bin&quot;</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">relative</span><span class="p" data-group-id="8111720477-2">(</span><span class="s">&quot;usr/local/bin&quot;</span><span class="p" data-group-id="8111720477-2">)</span><span class="w">    </span><span class="c1">#=&gt; &quot;usr/local/bin&quot;</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">relative</span><span class="p" data-group-id="8111720477-3">(</span><span class="s">&quot;D:bar.ex&quot;</span><span class="p" data-group-id="8111720477-3">)</span><span class="w">         </span><span class="c1">#=&gt; &quot;bar.ex&quot;</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">relative</span><span class="p" data-group-id="8111720477-4">(</span><span class="s">&quot;/bar/foo.ex&quot;</span><span class="p" data-group-id="8111720477-4">)</span><span class="w">      </span><span class="c1">#=&gt; &quot;bar/foo.ex&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="relative_to/2">
    <div class="detail-header">
    <a href="#relative_to/2" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">relative_to(path, from)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L311" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>relative_to(<a href="#t:t/0">t</a>(), <a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Returns the given <code class="inline">path</code> relative to the given <code class="inline">from</code> path.</p>
<p>In other words, this function tries to strip the <code class="inline">from</code> prefix from <code class="inline">path</code>.</p>
<p>This function does not query the file system, so it assumes
no symlinks between the paths.</p>
<p>In case a direct relative path cannot be found, it returns
the original path.</p>
<h2 id="relative_to/2-examples" class="section-heading">
  <a href="#relative_to/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">relative_to</span><span class="p" data-group-id="2129835828-1">(</span><span class="s">&quot;/usr/local/foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/usr/local&quot;</span><span class="p" data-group-id="2129835828-1">)</span><span class="w">
</span><span class="s">&quot;foo&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">relative_to</span><span class="p" data-group-id="2129835828-2">(</span><span class="s">&quot;/usr/local/foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/&quot;</span><span class="p" data-group-id="2129835828-2">)</span><span class="w">
</span><span class="s">&quot;usr/local/foo&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">relative_to</span><span class="p" data-group-id="2129835828-3">(</span><span class="s">&quot;/usr/local/foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;/etc&quot;</span><span class="p" data-group-id="2129835828-3">)</span><span class="w">
</span><span class="s">&quot;/usr/local/foo&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="relative_to_cwd/1">
    <div class="detail-header">
    <a href="#relative_to_cwd/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">relative_to_cwd(path)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L336" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>relative_to_cwd(<a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Convenience to get the path relative to the current working
directory.</p>
<p>If, for some reason, the current working directory
cannot be retrieved, this function returns the given <code class="inline">path</code>.</p>
  </section>
</div>
<div class="detail" id="rootname/1">
    <div class="detail-header">
    <a href="#rootname/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">rootname(path)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L438" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>rootname(<a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Returns the <code class="inline">path</code> with the <code class="inline">extension</code> stripped.</p>
<h2 id="rootname/1-examples" class="section-heading">
  <a href="#rootname/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">rootname</span><span class="p" data-group-id="6096513155-1">(</span><span class="s">&quot;/foo/bar&quot;</span><span class="p" data-group-id="6096513155-1">)</span><span class="w">
</span><span class="s">&quot;/foo/bar&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">rootname</span><span class="p" data-group-id="6096513155-2">(</span><span class="s">&quot;/foo/bar.ex&quot;</span><span class="p" data-group-id="6096513155-2">)</span><span class="w">
</span><span class="s">&quot;/foo/bar&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="rootname/2">
    <div class="detail-header">
    <a href="#rootname/2" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">rootname(path, extension)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L458" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>rootname(<a href="#t:t/0">t</a>(), <a href="#t:t/0">t</a>()) :: <a href="typespecs.html#built-in-types">binary</a>()</pre>
      </div>
  </div>
  <section class="docstring">
<p>Returns the <code class="inline">path</code> with the <code class="inline">extension</code> stripped.</p>
<p>This function should be used to remove a specific extension which may
or may not be there.</p>
<h2 id="rootname/2-examples" class="section-heading">
  <a href="#rootname/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">rootname</span><span class="p" data-group-id="7756401199-1">(</span><span class="s">&quot;/foo/bar.erl&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;.erl&quot;</span><span class="p" data-group-id="7756401199-1">)</span><span class="w">
</span><span class="s">&quot;/foo/bar&quot;</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">rootname</span><span class="p" data-group-id="7756401199-2">(</span><span class="s">&quot;/foo/bar.erl&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;.ex&quot;</span><span class="p" data-group-id="7756401199-2">)</span><span class="w">
</span><span class="s">&quot;/foo/bar.erl&quot;</span></code></pre>
  </section>
</div>
<div class="detail" id="split/1">
    <div class="detail-header">
    <a href="#split/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">split(path)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L560" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>split(<a href="#t:t/0">t</a>()) :: [<a href="typespecs.html#built-in-types">binary</a>()]</pre>
      </div>
  </div>
  <section class="docstring">
<p>Splits the path into a list at the path separator.</p>
<p>If an empty string is given, returns an empty list.</p>
<p>On Windows, path is split on both “\” and “/“ separators
and the driver letter, if there is one, is always returned
in lowercase.</p>
<h2 id="split/1-examples" class="section-heading">
  <a href="#split/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<pre><code class="nohighlight makeup elixir"><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">split</span><span class="p" data-group-id="4115673124-1">(</span><span class="s">&quot;&quot;</span><span class="p" data-group-id="4115673124-1">)</span><span class="w">
</span><span class="p" data-group-id="4115673124-2">[</span><span class="p" data-group-id="4115673124-2">]</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">split</span><span class="p" data-group-id="4115673124-3">(</span><span class="s">&quot;foo&quot;</span><span class="p" data-group-id="4115673124-3">)</span><span class="w">
</span><span class="p" data-group-id="4115673124-4">[</span><span class="s">&quot;foo&quot;</span><span class="p" data-group-id="4115673124-4">]</span><span class="w">

</span><span class="gp unselectable">iex&gt; </span><span class="nc">Path</span><span class="o">.</span><span class="n">split</span><span class="p" data-group-id="4115673124-5">(</span><span class="s">&quot;/foo/bar&quot;</span><span class="p" data-group-id="4115673124-5">)</span><span class="w">
</span><span class="p" data-group-id="4115673124-6">[</span><span class="s">&quot;/&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;foo&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;bar&quot;</span><span class="p" data-group-id="4115673124-6">]</span></code></pre>
  </section>
</div>
<div class="detail" id="type/1">
    <div class="detail-header">
    <a href="#type/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">type(name)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L206" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>type(<a href="#t:t/0">t</a>()) :: :absolute | :relative | :volumerelative</pre>
      </div>
  </div>
  <section class="docstring">
<p>Returns the path type.</p>
<h2 id="type/1-examples" class="section-heading">
  <a href="#type/1-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<h3 id="type/1-unix" class="section-heading">
  <a href="#type/1-unix" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Unix
</h3>

<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="3063852078-1">(</span><span class="s">&quot;/&quot;</span><span class="p" data-group-id="3063852078-1">)</span><span class="w">                </span><span class="c1">#=&gt; :absolute</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="3063852078-2">(</span><span class="s">&quot;/usr/local/bin&quot;</span><span class="p" data-group-id="3063852078-2">)</span><span class="w">   </span><span class="c1">#=&gt; :absolute</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="3063852078-3">(</span><span class="s">&quot;usr/local/bin&quot;</span><span class="p" data-group-id="3063852078-3">)</span><span class="w">    </span><span class="c1">#=&gt; :relative</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="3063852078-4">(</span><span class="s">&quot;../usr/local/bin&quot;</span><span class="p" data-group-id="3063852078-4">)</span><span class="w"> </span><span class="c1">#=&gt; :relative</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="3063852078-5">(</span><span class="s">&quot;~/file&quot;</span><span class="p" data-group-id="3063852078-5">)</span><span class="w">           </span><span class="c1">#=&gt; :relative</span></code></pre>
<h3 id="type/1-windows" class="section-heading">
  <a href="#type/1-windows" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Windows
</h3>

<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="1375271685-1">(</span><span class="s">&quot;D:/usr/local/bin&quot;</span><span class="p" data-group-id="1375271685-1">)</span><span class="w"> </span><span class="c1">#=&gt; :absolute</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="1375271685-2">(</span><span class="s">&quot;usr/local/bin&quot;</span><span class="p" data-group-id="1375271685-2">)</span><span class="w">    </span><span class="c1">#=&gt; :relative</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="1375271685-3">(</span><span class="s">&quot;D:bar.ex&quot;</span><span class="p" data-group-id="1375271685-3">)</span><span class="w">         </span><span class="c1">#=&gt; :volumerelative</span><span class="w">
</span><span class="nc">Path</span><span class="o">.</span><span class="n">type</span><span class="p" data-group-id="1375271685-4">(</span><span class="s">&quot;/bar/foo.ex&quot;</span><span class="p" data-group-id="1375271685-4">)</span><span class="w">      </span><span class="c1">#=&gt; :volumerelative</span></code></pre>
  </section>
</div>
<div class="detail" id="wildcard/2">
  
    <span id="wildcard/1"></span>
  <div class="detail-header">
    <a href="#wildcard/2" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">wildcard(glob, opts \\ [])</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/elixir/lib/path.ex#L643" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>wildcard(<a href="#t:t/0">t</a>(), <a href="typespecs.html#built-in-types">keyword</a>()) :: [<a href="typespecs.html#built-in-types">binary</a>()]</pre>
      </div>
  </div>
  <section class="docstring">
<p>Traverses paths according to the given <code class="inline">glob</code> expression and returns a
list of matches.</p>
<p>The wildcard looks like an ordinary path, except that the following
“wildcard characters” are interpreted in a special way:</p>
<ul>
<li><p><code class="inline">?</code> - matches one character.</p>
</li>
<li><p><code class="inline">*</code> - matches any number of characters up to the end of the filename, the
next dot, or the next slash.</p>
</li>
<li><p><code class="inline">**</code> - two adjacent <code class="inline">*</code>’s used as a single pattern will match all
files and zero or more directories and subdirectories.</p>
</li>
<li><p><code class="inline">[char1,char2,...]</code> - matches any of the characters listed; two
characters separated by a hyphen will match a range of characters.
Do not add spaces before and after the comma as it would then match
paths containing the space character itself.</p>
</li>
<li><p><code class="inline">{item1,item2,...}</code> - matches one of the alternatives.
Do not add spaces before and after the comma as it would then match
paths containing the space character itself.</p>
</li>
</ul>
<p>Other characters represent themselves. Only paths that have
exactly the same character in the same position will match. Note
that matching is case-sensitive: <code class="inline">&quot;a&quot;</code> will not match <code class="inline">&quot;A&quot;</code>.</p>
<p>By default, the patterns <code class="inline">*</code> and <code class="inline">?</code> do not match files starting
with a dot <code class="inline">.</code>. See the <code class="inline">:match_dot</code> option in the “Options” section
below.</p>
<h2 id="wildcard/2-options" class="section-heading">
  <a href="#wildcard/2-options" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Options
</h2>

<ul>
<li><code class="inline">:match_dot</code> - (boolean) if <code class="inline">false</code>, the special wildcard characters <code class="inline">*</code> and <code class="inline">?</code>
will not match files starting with a dot (<code class="inline">.</code>). If <code class="inline">true</code>, files starting with
a <code class="inline">.</code> will not be treated specially. Defaults to <code class="inline">false</code>.
</li>
</ul>
<h2 id="wildcard/2-examples" class="section-heading">
  <a href="#wildcard/2-examples" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Examples
</h2>

<p>Imagine you have a directory called <code class="inline">projects</code> with three Elixir projects
inside of it: <code class="inline">elixir</code>, <code class="inline">ex_doc</code>, and <code class="inline">plug</code>. You can find all <code class="inline">.beam</code> files
inside the <code class="inline">ebin</code> directory of each project as follows:</p>
<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">wildcard</span><span class="p" data-group-id="5142678270-1">(</span><span class="s">&quot;projects/*/ebin/**/*.beam&quot;</span><span class="p" data-group-id="5142678270-1">)</span></code></pre>
<p>If you want to search for both <code class="inline">.beam</code> and <code class="inline">.app</code> files, you could do:</p>
<pre><code class="nohighlight makeup elixir"><span class="nc">Path</span><span class="o">.</span><span class="n">wildcard</span><span class="p" data-group-id="9821478636-1">(</span><span class="s">&quot;projects/*/ebin/**/*.{beam,app}&quot;</span><span class="p" data-group-id="9821478636-1">)</span></code></pre>
  </section>
</div>
        </section>

          <footer class="footer">
        <p>
          <span class="line">
            Built using
            <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.19.1),
          </span>
          <span class="line">
            designed by
            <a href="https://twitter.com/dignifiedquire" target="_blank" rel="noopener" title="@dignifiedquire">Friedel Ziegelmayer</a>.
            </span>
        </p>
      </footer>
    </div>
  </div>
</section>
</div>
  <script src="dist/app-a0c90688fa.js"></script>
  
  </body>
</html>