小编Ste*_*gle的帖子

返回Clojure中所有当前作用域符号的表达式?

假设如下,

(in-ns silly.fun)

(def a 1)

(defn fx [b]
  ((fn [c] (return-all-symbols)) (first b)))
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能返回所有符号函数,它将返回当前作用于其调用的符号/值的映射.因此,假设上面已经编译并且我们在'silly.fun命名空间中,我们可以运行类似下面的内容.

(fx [:hello]) => {"a" 1, "b" [:hello], "c" :hello}
Run Code Online (Sandbox Code Playgroud)

我想使用return-all-symbols进行调试.是否可以返回所有符号?如果是这样,它的实施是什么?

debugging symbols clojure

6
推荐指数
1
解决办法
106
查看次数

如何在emacs nrepl会话中自动获取paredit?

我的emacs init文件中有以下行.

(setq auto-mode-alist (cons `("\*nrepl\*" . paredit-mode) auto-mode-alist))
Run Code Online (Sandbox Code Playgroud)

我通过创建一个名为*nrepl*的新缓冲区来检查这是否有效Ctrl-x-f *nrepl*.是的,*nrepl*缓冲区已启用Paredit,启用了paredit-mode.

我关闭*nrepl*缓冲区而不保存它.

我打字开始一个nrepl会话M-x nrepl-jack-in.nrepl服务器启动,我看到nrepl repl.nrepl repl也称为*nrepl*,但Paredit 启用.

我究竟做错了什么?

emacs clojurescript

6
推荐指数
2
解决办法
667
查看次数

自动杀死消耗过多内存或在linux上停顿的进程

我想要一个监视进程的"系统",并在以下情况下杀死所述进程:

  • 该过程超出了一些内存要求
  • 在某段时间内,该过程不响应来自"系统"的消息

我认为这个"系统"可能像监控过程一样简单吗?如何做到这一点的代码示例将是有用的.我当然不反对这个问题的完全不同的解决方案.

linux project-management process

5
推荐指数
2
解决办法
1万
查看次数

阻止事件在GWT中冒泡

我有以下代码片段,changeTextArea是一个TextArea对象.

changeTextArea.addKeyboardListener(new KeyboardListenerAdapter()
  public void onKeyPress( Widget sender, char keyCode, int modifier){
    //do something
    //I WISH TO STOP THE EVENT THAT MAPS TO THIS KEYPRESS FROM BUBBLING ANY FURTHER
  }
}
Run Code Online (Sandbox Code Playgroud)

我如何停止导致调用此方法的事件从changeTextArea冒泡到Panels/Widgets/Composites /包含changeTextArea的任何内容.简洁地说,如何阻止它进一步冒泡.任何帮助将不胜感激(特别是代码示例).

java events gwt

5
推荐指数
1
解决办法
1万
查看次数

我可以保证在参数的类AND接口上输入吗?

我正在使用GWT库.所有Widgets都有一个名为Widget的基类.一些小部件实现某些接口(例如HasText),而其他小部件则不实现.有时我希望保证作为函数的参数传递的东西属于某个类并实现某个接口.

例如,我希望有一个带参数X的函数,其中X是类型Widget的接口类型和接口类型HasText.我希望有这种行为,因为只有Widgets可以添加到Layout容器中,而HasText指定了我实际需要从Widget中获取的完整行为集.


在伪代码形式中,它可能是:

public void fx(I_AM_A_Widget_AND_IMPLEMENT_INTERFACE_HasText x){
    //do stuff with x, which is guaranteed to be a Widget AND implement HasText
}
Run Code Online (Sandbox Code Playgroud)

这在Java中是否有可能?如果有多种方法可以这样做,是否有首选/更好的方法?

java gwt

5
推荐指数
2
解决办法
86
查看次数

寻找 Harel 状态图工具

我正在寻找一个可以绘制Harel 状态转换图的建模系统。此处提供了有关该系统的论文。特别是我想要一个允许以下功能的系统:

  1. 状态图建模
  2. 放大和缩小状态,以及在某个缩放级别自动隐藏状态
  3. 并发状态,如论文中所述
  4. 能够协作编辑(不是必需的,但会非常好)

任何有关您使用什么以及为什么使用的信息都是非常宝贵的。谢谢。

diagram uml

5
推荐指数
1
解决办法
1600
查看次数

如何将表达式转换为谓词?(Clojure的)

鉴于我有一个表达形式

'(map? %)
Run Code Online (Sandbox Code Playgroud)

我如何将其转换为类似的东西

'#(map? %)
Run Code Online (Sandbox Code Playgroud)

所以我最终可以把它扩展成类似的东西

'(apply #(map? %) value)
Run Code Online (Sandbox Code Playgroud)

我想我应该以某种方式使用宏,但我不确定如何.

expression predicate clojure

5
推荐指数
1
解决办法
284
查看次数

如何以一对多的方式组合clojure.test.check生成器?

我们假设我有一个生成器users-gen,它生成一组1个或更多用户.另一个参数化生成器调用user-actions-gen,它接受一个或多个用户的序列,并生成这些用户可能执行的一系列操作.

(def user-gen 
 ;; generates a user
 ...)

(def users-gen 
 ;; sequences of 1 or more users 
 (gen/such-that not-empty (gen/vector gen/users))

(defn user-actions-gen [users]
  ;; a action performed by some user from the `users argument
  ...)
Run Code Online (Sandbox Code Playgroud)

如果我想为users-gen生成的单个用户序列生成单个动作,那么它很简单,只需直接将gen/bind user-gen转换为user-actions-gen.

但是,我想从相同的用户序列生成许多操作.我有这个问题,因为我基本上只是想说"这是状态,让任何随机动作进来,让我们将动作应用到状态,让我们确认状态仍然有效;为所有动作执行此操作. " 我有以下代码.

(defspec check-that-state-is-always-valid
  100
  (let [state-atm (atom {})]
    (prop/for-all
     [[actions users]
      (gen/bind users-gen
                (fn [users]
                  (gen/tuple
                   (gen/vector (user-actions-gen users))
                   (gen/return users))))]
     (doseq [action actions
             :let [state (swap! state-atm state-atm-transform-fx action)]]
       (is (state-still-valid? state))))))
Run Code Online (Sandbox Code Playgroud)

这种作品.问题是:

  1. 它似乎完全评估剂量而不是停止第一个错误
  2. 它看起来有点不对劲.代码遍布各处,它的作用并不完全明显. …

testing clojure generative-testing

5
推荐指数
1
解决办法
771
查看次数

java.lang.IllegalArgumentException:没有方法的实现:: protocol-matches of protocol:#'clout.core/Route

我有两个感兴趣的文件: build.boot

(set-env!
 :source-paths #{"src/clj" "src/cljs" "test/clj"}
 :resource-paths #{"html" "target/main.js"}
 :dependencies '[[adzerk/boot-cljs      "0.0-3308-0"]
                 [adzerk/boot-cljs-repl "0.1.10-SNAPSHOT"]
                 [adzerk/boot-reload    "0.3.1"]
                 [adzerk/boot-test "1.0.4"]
                 [cljsjs/hammer "2.0.4-4"]
                 [compojure "1.3.1"]
                 [com.datomic/datomic-pro "0.9.5186"]
                 [hiccup "1.0.5"]
                 [org.clojure/clojure "1.7.0-RC1"]
                 [org.clojure/clojurescript "0.0-3308"]
                 [org.clojure/core.async "0.1.346.0-17112a-alpha"]
                 [org.clojure/test.check "0.7.0"]
                 [org.omcljs/om "0.8.8"]
                 [pandeiro/boot-http "0.6.3-SNAPSHOT"]
                 [ring/ring-devel "1.4.0-RC1"]
                 [http-kit "2.1.18"]])

(require
 '[adzerk.boot-cljs      :refer [cljs]]
 '[adzerk.boot-cljs-repl :refer [cljs-repl start-repl]]
 '[adzerk.boot-reload    :refer [reload]]
 '[adzerk.boot-test      :refer [test]]
 '[pandeiro.boot-http    :refer [serve]])

(task-options!
 cljs {:source-map true
       :optimizations :none
       :pretty-print true})

(deftask build
  "Build an uberjar of this project that can be run …
Run Code Online (Sandbox Code Playgroud)

clojure compojure

5
推荐指数
1
解决办法
1162
查看次数

如何创建可以将位置子项作为参数的组件(Dart)?

我正在寻找有关如何制作可以采用位置子参数的webcomponents的资源.就像是:

<x-editable-component>
  <span>{{value}}</span> // this could be any uneditable element
  <textarea>{{value}}</textarea> //could be any editable element
</x-editable-component>
Run Code Online (Sandbox Code Playgroud)

上面的元素在editable == false时显示跨度,在editable == true时显示textarea.editable是一个全局监视的静态变量.

我认为有可能通过继承来获得这种组合行为.但是,我想知道是否有可能以上面提到的可组合方式执行此操作.组件(x-editable-component)只需要两个子节点,一个子节点在可编辑时显示,另一个子节点在不可编辑时显示.

为了清楚起见,我希望能够灵活地将任意两个孩子写成x-editable-component的子代,所以也许在某个地方我可以编写一个x-editable组件.

<x-editable-component>
  <div>{{value}}</div> // this could be any uneditable element
  <input>{{value}}</input> //could be any editable element
</x-editable-component>
Run Code Online (Sandbox Code Playgroud)

这可能吗?

dart dart-webui

4
推荐指数
1
解决办法
197
查看次数