<div dir="ltr">Just to add one more option.<div>You may use maps:without to ensure the map does not have extra keys:</div><div><div><br></div><div>1> Check = fun(M) -> maps:without(["one", "two"], M) == #{} end.</div><div>#Fun<erl_eval.6.99386804></div><div>2> Check(#{"one" => 1}).</div><div>true</div><div>3> Check(#{"one" => 1, "three" => 3}).</div><div>false</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 11, 2017 at 11:47 AM, Technion <span dir="ltr"><<a href="mailto:technion@lolware.net" target="_blank">technion@lolware.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">
<div id="m_982288585454406838divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p>Hi,</p>
<p><br>
</p>
<p>I'm wondering if there is a simple process I can use to verify a map only contains valid variables. Consider the following example:</p>
<p><br>
</p>
<p></p>
<div>2> Checkmaps = fun(M) -></div>
<div>2> #{"one" := One, "two" := _Two} = M,</div>
<div>2>     One end.</div>
<div>#Fun<erl_eval.6.99386804></div>
<div><br>
</div>
% These crash as expected
<p></p>
<p></p>
<div>5> Checkmaps(#{"test" => one }).</div>
<div>** exception error: no match of right hand side value #{"test" => one}</div>
<div>
<div>6> Checkmaps(#{"one" => one }).</div>
<div>** exception error: no match of right hand side value #{"one" => one}</div>
<div><br>
</div>
<br>
</div>
% This works as expected
<p></p>
<p></p>
<div>7> Checkmaps(#{"one" => one, "two" => two }).</div>
<div>one</div>
<div><br>
</div>
% This however also runs - I would like it to crash like the first example
<p></p>
<p><span style="font-size:12pt">8> Checkmaps(#{"one" => one, "two" => two, "three" => test }).</span><br>
</p>
<p></p>
<div>one</div>
<div><br>
</div>
<p></p>
<p>The use case here is I'm pulling external data - anything I'm not expecting is not a happy path. Any assistance appreciated.</p>
</div>
</div>

<br>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><font face="'courier new', monospace">Danil Zagoskin | <a href="mailto:z@gosk.in" target="_blank">z@gosk.in</a></font></div></div></div>
</div>