multimethod

    1热度

    1回答

    我正在使用multimethods来解析命令行命令及其参数。 (defmulti run (fn [command args] command)) (defmethod run :default [& _] ...) ^{:args "[command]"} (defmethod run "help" [_ & [args]] "Display c

    1热度

    1回答

    我有一个应用程序有很多大地图和其他东西,打印时很笨拙的读取,所以我为它们做了一个自定义打印功能,并设置print-method来调用它,就像这样: (defmethod print-method clojure.lang.PersistentArrayMap [v ^java.io.Writer w] (.write w (fstr1 v))) 里面fstr1,我怎么能叫普通的印刷方

    0热度

    4回答

    我是否正确理解了在多数调度语言中(多数?某些?),每个方法都会在程序执行的某个时间点被添加到函数中。 那么我可以得出结论:多派遣作为一个功能强制功能是可变的吗? 是否有多种调度语言,其中所有方法一起附加到(通用)函数(加载时?),以便不可能在不同时间点看到不同状态下的函数?

    4热度

    3回答

    我玩弄了一个字符串的位置界面。我知道How can I slice a string like Python does in Perl 6?,但我很好奇,如果我可以让这件事情只为咯咯笑。 我想出了这个例子。阅读立场是好的,但我不知道如何设置了multi处理一个任务: multi postcircumfix:<[ ]> (Str:D $s, Int:D $n --> Str) { $s.s

    1热度

    1回答

    我似乎很难理解下面的代码是如何工作的。更确切地说,是如何定义的函数处理传递的参数定义的“遭遇”时 (defmulti encounter (fn [x y] [(:role x) (:role y)])) (defmethod encounter [:manager :boss] [x y] :promise-unrealistic-deadlines) (defmet

    5热度

    1回答

    你能用例子来解释retag参数如何影响multi-spec创建?我发现multi-spec文档很难消化。

    -1热度

    1回答

    我正在研究关于吸引力访问Anylogic游客决策的论文模型。我怎么能给访问者(代理人)不同的最长等待时间。因此,如果一个景点的排队超过了这个等待时间,那么访问者将不会去其最受欢迎的景点,而是去其第二个最喜欢的景点。

    5热度

    2回答

    我想编程一个游戏,并且想为多个实体使用组件模式。 在接口/类型/多继承的语言中,没有问题。 我想要一些实体可更新但不可呈现,有些应该是两者。 哈斯克尔: class Updateable a where update :: Float -> a -> a class Renderable a where render :: a -> Picture class Inpu

    2热度

    2回答

    假设我有一个Java方法返回某个父接口的对象。这个函数返回的对象的类没有记录,但是有丰富的,有文档记录的接口层次结构,它们都扩展了父接口。因此,例如: public class Person { public IMeal favoriteMeal() { ... } } public interface IBreakfast extends IMeal { ... } publi

    2热度

    1回答

    我想在一个单独的文件中定义multimethod及其实现。它是这样的: 在文件1 (ns thing.a.b) (defn dispatch-fn [x] x) (defmulti foo dispatch-fn) 在文件2 (ns thing.a.b.c (:require [thing.a.b :refer [foo]]) (defmethod foo "hello" [s