Неправильное количество прошедших args, но я передаю правильную сумму -- java поле с участием clojure поле с участием quil пол Связанный проблема

Wrong number of args passed, but I pass the correct amount


1
vote

проблема

русский

Я использую quil с cljure и получаю странную ошибку.

Я получаю ошибку

 <код> Exception in  :draw  function:  #error {  :cause Wrong number of args (1) passed to: core/move-circle/fn--14896  :via   

Вот только один код, который существует перемещение-круг

 <код> (defn bounce-back [c state]     (or (<= (:x c) 0) (<= (:y  c) 0) (>= (:x c) (inc (:size state))) (>= (:y c) (inc (:size state)))) )  (defn move-circle   "Moves a circle according to its speed and heading"   [c state]   (let [size (:size state) x (:x c) y (:y c) ux (atom 1) uy (atom 1) heading (atom (:heading c))]     (if (bounce-back c state) (swap! heading + q/PI) (swap! heading + 0))        (swap! ux #(mod 500 (* (q/cos @heading) (:speed c))))       (swap! uy #(mod 500 (* (q/sin @heading) (:speed c))))       (println "X: " x "Y: " y)       (println "UX: " @ux "Y: " @uy)       (update-in (update-in (update-in c [:y] #(+ y @uy)) [:x] #(+ x @ux)) [:heading] #(if (= @heading (:heading c)) (:heading c) @heading))   ) )  (defn update-circles    "Moves each circle and returns updated vector of circles."   [circles state]   (println "Update Circles")   (map (fn [c] (move-circle c state)) circles))   

Вот трассировка стека

 <код> public class AlarmReciever extends BroadcastReceiver { AlarmClock alarmClock=new AlarmClock();  @Override public void onReceive(Context context, Intent intent) {     Log.e("AlarmReciever","Alarm Reciever Error");     Intent intent_service=new Intent(context,RingtonPlayingService.class);     context.startService(intent_service); }} 0  
Английский оригинал

I am using Quil with Clojure and am getting an odd error.

I get the error

Exception in  :draw  function:  #error {  :cause Wrong number of args (1) passed to: core/move-circle/fn--14896  :via 

Here is the only are of code that move-circle exist

(defn bounce-back [c state]     (or (<= (:x c) 0) (<= (:y  c) 0) (>= (:x c) (inc (:size state))) (>= (:y c) (inc (:size state)))) )  (defn move-circle   "Moves a circle according to its speed and heading"   [c state]   (let [size (:size state) x (:x c) y (:y c) ux (atom 1) uy (atom 1) heading (atom (:heading c))]     (if (bounce-back c state) (swap! heading + q/PI) (swap! heading + 0))        (swap! ux #(mod 500 (* (q/cos @heading) (:speed c))))       (swap! uy #(mod 500 (* (q/sin @heading) (:speed c))))       (println "X: " x "Y: " y)       (println "UX: " @ux "Y: " @uy)       (update-in (update-in (update-in c [:y] #(+ y @uy)) [:x] #(+ x @ux)) [:heading] #(if (= @heading (:heading c)) (:heading c) @heading))   ) )  (defn update-circles    "Moves each circle and returns updated vector of circles."   [circles state]   (println "Update Circles")   (map (fn [c] (move-circle c state)) circles)) 

Here is the stack trace

quil-workflow 0.1.0-SNAPSHOT[stdout]:    Update Circles quil-workflow 0.1.0-SNAPSHOT[stdout]:    Exception in  :draw  function:  #error {  :cause Wrong number of args (1) passed to: core/move-circle/fn--14896  :via  [{:type clojure.lang.ArityException    :message Wrong number of args (1) passed to: core/move-circle/fn--14896    :at [clojure.lang.AFn throwArity AFn.java 429]}]  :trace  [[clojure.lang.AFn throwArity AFn.java 429]   [clojure.lang.AFn invoke AFn.java 32]   [clojure.lang.Atom swap Atom.java 37]   [clojure.core$swap_BANG_ invokeStatic core.clj 2260]   [clojure.core$swap_BANG_ invoke core.clj 2253]   [circles.core$move_circle invokeStatic nil 55]   [circles.core$move_circle invoke nil 55]   [circles.core$update_circles$fn__14907 invoke nil 68]   [clojure.core$map$fn__4785 invoke core.clj 2646]   [clojure.lang.LazySeq sval LazySeq.java 40]   [clojure.lang.LazySeq seq LazySeq.java 49]   [clojure.lang.RT seq RT.java 521]   [clojure.core$seq__4357 invokeStatic core.clj 137]   [clojure.core$map$fn__4785 invoke core.clj 2637]   [clojure.lang.LazySeq sval LazySeq.java 40]   [clojure.lang.LazySeq seq LazySeq.java 49]   [clojure.lang.RT seq RT.java 521]   [clojure.core$seq__4357 invokeStatic core.clj 137]   [clojure.core$dorun invokeStatic core.clj 3024]   [clojure.core$dorun invoke core.clj 3024]   [circles.core$draw_state invokeStatic nil 92]   [circles.core$draw_state invoke nil 92]   [clojure.lang.Var invoke Var.java 379]   [quil.middlewares.fun_mode$wrap_draw_update$quil_draw__6769 invoke fun_mode.cljc 16]   [quil.middlewares.safe_fns$wrap_fn$fn__114 invoke safe_fns.clj 9]   [quil.middlewares.bind_output$bind_output$iter__148__152$fn__153$fn__164 invoke bind_output.clj 21]   [quil.applet$_draw invoke applet.clj 220]   [quil.Applet draw nil -1]   [processing.core.PApplet handleDraw PApplet.java 2402]   [quil.Applet handleDraw nil -1]   [processing.awt.PSurfaceAWT$12 callDraw PSurfaceAWT.java 1527]   [processing.core.PSurfaceNone$AnimationThread run PSurfaceNone.java 316]]}  stacktrace:  clojure.lang.ArityException: Wrong number of args (1) passed to: core/move-circle/fn--14896  at clojure.lang.AFn.throwArity (AFn.java:429)     clojure.lang.AFn.invoke (AFn.java:32)     clojure.lang.Atom.swap (Atom.java:37)     clojure.core$swap_BANG_.invokeStatic (core.clj:2260)     clojure.core$swap_BANG_.invoke (core.clj:2253)     circles.core$move_circle.invokeStatic (:55)     circles.core$move_circle.invoke (:55)     circles.core$update_circles$fn__14907.invoke (:68)     clojure.core$map$fn__4785.invoke (core.clj:2646)     clojure.lang.LazySeq.sval (LazySeq.java:40)     clojure.lang.LazySeq.seq (LazySeq.java:49)     clojure.lang.RT.seq (RT.java:521)     clojure.core$seq__4357.invokeStatic (core.clj:137)     clojure.core$map$fn__4785.invoke (core.clj:2637)     clojure.lang.LazySeq.sval (LazySeq.java:40)     clojure.lang.LazySeq.seq (LazySeq.java:49)     clojure.lang.RT.seq (RT.java:521)     clojure.core$seq__4357.invokeStatic (core.clj:137)     clojure.core$dorun.invokeStatic (core.clj:3024)     clojure.core$dorun.invoke (core.clj:3024)     circles.core$draw_state.invokeStatic (:92)     circles.core$draw_state.invoke (:92)     clojure.lang.Var.invoke (Var.java:379)     quil.middlewares.fun_mode$wrap_draw_update$quil_draw__6769.invoke (fun_mode.cljc:16)     quil.middlewares.safe_fns$wrap_fn$fn__114.invoke (safe_fns.clj:9)     quil.middlewares.bind_output$bind_output$iter__148__152$fn__153$fn__164.invoke (bind_output.clj:21)     quil.applet$_draw.invoke (applet.clj:220)     quil.Applet.draw (:-1)     processing.core.PApplet.handleDraw (PApplet.java:2402)     quil.Applet.handleDraw (:-1)     processing.awt.PSurfaceAWT$12.callDraw (PSurfaceAWT.java:1527)     processing.core.PSurfaceNone$AnimationThread.run (PSurfaceNone.java:316) 
</div
        
   
   

Список ответов

3
 
vote
vote
Лучший ответ
 

Сообщение об ошибке не говорит, что вы передаете неправильное количество args для перемещения-круга, но для перемещения-круга $ fn: A Lambda внутри переменного круга. В этом случае это

 <код> #(mod 500 (* (q/cos @heading) (:speed c))   

Вы передаваете этот функцию 0-аргумента как аргумент <код> swap! , но <код> swap! вызывает его функцию с одним аргументом.

 

The error message doesn't say you're passing the wrong number of args to move-circle, but to move-circle$fn: a lambda inside of move-circle. In this case, that's

#(mod 500 (* (q/cos @heading) (:speed c)) 

You're passing this 0-argument function as the argument to swap!, but swap! calls its function with one argument.

</div
 
 
   
   

Связанный проблема

0  Невозможно вызвать функцию через объект компаньона  ( Unable to call function via companion object ) 
Почему введенном ниже примере, я могу не звонить x.callme (). Мое понимание заключается в том, что присвоение «var x = тест» вернет новый экземпляр тестирован...

0  Не могу найти какие-либо рабочие примеры использования официального Google Translate Java API (Rev41)  ( Cant find any working examples of using the official google translate java api ) 
У меня потребовалось около 5 минут, чтобы использовать API Google Translate REST от JavaScript, Nodejs, wget и Java через библиотеку Sun's Jersey, но я не мог...

0  Никогда не заканчивает финал, пока цикла  ( Never finishes final while loop ) 
У меня есть задание, где я в основном должен написать небольшой ботнет. Нам дали список пользователей и зашифрованные пароли. Нам также дали код для расшифров...

0  Как я могу определить, что я нахожусь в последнем байте сериализованного объекта Java?  ( How do i identify that i am at the last byte of a serialized java object ) 
Вопрос Что такое (если есть) завершающие символы / байты последовательностей в сериализированных объектах Java? Фон Я работаю над небольшим проектом...

1  Я хочу, чтобы мой NPC посмотреть в направлении, на котором я стою. Как бы я сделал это наиболее эффективно?  ( I want my npc to look in the direction i am standing at how would i do this mos ) 
В настоящее время я строю 2D игру с Slick2D, и сейчас я реализую свой первый NPC. У меня уже есть спрайты, я смог нарисовать его, были столкновения, и так д...

427  Что означает «не может найти символ» или «не может разрешить символ» ошибка?  ( What does a cannot find symbol or cannot resolve symbol error mean ) 
Пожалуйста, объясните следующее о «не можете найти символ», - не может разрешить ошибки символа «или« символ не найден »: . Что они имеют в виду? Что може...

1  Libgdx setscreen () сбивает игру, когда сделано несколько раз  ( Libgdx setscreen crashes game when done multiple times ) 
У меня есть <код> GameScreen и после окончания уровня, я устанавливаю экран обратно в <код> GameScreen как перезапустить , когда пользовательская кнопка пе...

-1  Как установить Jlint-3.0 на Ubuntu 14.04.2? [Дубликат]  ( How to install jlint 3 0 on ubuntu 14 04 2 ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

4  Ссылка метода против лямбда экспрессия  ( Method reference vs lambda expression ) 
Я хочу заменить лямбда выражение по ссылке метода в примере ниже: <код> public class Example { public static void main(String[] args) { ...

3  Добавление музыки / звука в программы Java  ( Adding music sound to java programs ) 
Я делаю несколько мини Java Games, и мне было интересно, как я могу добавить звук / музыку в свои программы. Я смотрел видео на YouTube и последовал за предос...

0  Прокрутите вверх относительной макета при прокрутке вверх по просмотру  ( Scroll up relative layout when scrolling up listview ) 
Я создаю приложение. и пользовательская информация отображается в относительной макете. При относительной макете - это список с элементами, создаваемыми польз...

26  Как добавить кнопку в ряд jtable в качелях java  ( How to add button in a row of jtable in swing java ) 
Я сделал один важный графический интерфейс, который имел jtable с некоторыми строками и столбцами. Как я должен добавить кнопку для строки в JTable? ...

10  Может ли javafx filechooser "запомнить" последний каталог, который он открыл?  ( Can a javafx filechooser remember the last directory it opened ) 
Мой контроллер просмотра имеет один <код> FileChooser экземпляра, используемый как для открытия, так и для сохранения файлов. Каждый раз, когда я звоню <ко...

0  Можем ли мы проверить, что текст в поле «Пароль» отображается в маске? [закрыто]  ( Can we check that text in password field is displayed masked ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос нуждается в Детали или ясность . В настоящее...

0  Java Applet Рисование формы на входе пользователя  ( Java applet drawing shapes by user input ) 
Вот то, что я хотел сделать. Есть текстовое поле, и пользователь входит в то, что он хочет. Например, «прямоугольник» или «прямоугольник», «круг» или «круг». ...

Связанный проблема

0  Невозможно вызвать функцию через объект компаньона 
0  Не могу найти какие-либо рабочие примеры использования официального Google Translate Java API (Rev41) 
0  Никогда не заканчивает финал, пока цикла 
0  Как я могу определить, что я нахожусь в последнем байте сериализованного объекта Java? 
1  Я хочу, чтобы мой NPC посмотреть в направлении, на котором я стою. Как бы я сделал это наиболее эффективно? 
427  Что означает «не может найти символ» или «не может разрешить символ» ошибка? 
1  Libgdx setscreen () сбивает игру, когда сделано несколько раз 
-1  Как установить Jlint-3.0 на Ubuntu 14.04.2? [Дубликат] 
4  Ссылка метода против лямбда экспрессия 
3  Добавление музыки / звука в программы Java 
0  Прокрутите вверх относительной макета при прокрутке вверх по просмотру 
26  Как добавить кнопку в ряд jtable в качелях java 
10  Может ли javafx filechooser "запомнить" последний каталог, который он открыл? 
0  Можем ли мы проверить, что текст в поле «Пароль» отображается в маске? [закрыто] 
0  Java Applet Рисование формы на входе пользователя