如何使用幽灵从clojure树中删除一个键?

时间:2015-11-07 21:17:03

标签: clojure clojurescript specter

我一直在使用Clojure Spectre库(https://github.com/nathanmarz/specter)加快速度。我遇到的问题是使用transform或setval删除密钥。我可以将其设置为nil,但如何删除密钥?

3 个答案:

答案 0 :(得分:5)

这似乎有效:

<HTML>
  <HEAD><META http-equiv="Content-Type" content="text/html; charset=utf-8"></HEAD>

  <SCRIPT src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></SCRIPT>

  <SCRIPT>
  $(document).ready(function()
  {
    $('button').click(function(event)
    {
      var Clicked_Button=event.target;
      $('#Target_Button').html($(Clicked_Button).html());
    });
  });
  </SCRIPT>

  <BODY>
  <CENTER>

    <BUTTON id=Source_Button style="width: 78px; height: 78px;" type=button>
      <TABLE width=60 border=0 cellspacing=0 cellpadding=5>
        <TR>
          <TD align=Center><FONT color=blue size=4>A</FONT></TD>
          <TD align=Center><FONT color=blue size=4>B</FONT></TD>
        </TR>
        <TR>
          <TD align=Center><FONT color=blue size=4>C</FONT></TD>
          <TD align=Center><FONT color=blue size=4>D</FONT></TD>
        </TR>
       </TABLE>
    </BUTTON>
  <P>
  <BUTTON id=Target_Button style="width: 78px; height: 78px;" type=button></BUTTON>

  </CENTER>
  </BODY>
</HTML>

答案 1 :(得分:5)

(setval :a NONE {:a 10 :b 20})
=> {:b 20}

答案 2 :(得分:-1)

根据此reddit thread,你不能dissoc使用幽灵(你可以过滤),但你可以使用instar

编辑:现在可以。