클로저 기능에 필요한 매개 변수 수에 제한이있는 것으로 보입니다. , 클로저 기능에 최대 20 개의 매개 변수 한계가있는 이유
#<CompilerException java.lang.RuntimeException: java.lang.RuntimeException: java.lang.Exception: Can't specify more than 20 params (NO_SOURCE_FILE:0) (NO_SOURCE_FILE:0)>
나는 다음을받을 DSL이 문을입니다
이(defAlias nn1 ((element ?e1) (element ?e2)) number
"@doc features of the elements are calculated for entry into
the first neural network, the result is the score computed by the latter"
(nn1-recall (nn1-feature00 ?e1 ?e2) (nn1-feature01 ?e1 ?e2) ... (nn1-feature89 ?e1 ?e2)))
와 신경망 전화 : 나는 매크로 확장하여이 제한을 제외하고 아주 쉽게 기능에 매핑 할 수있는 다음과 같은 내 DSL의 구조를 가지고 90 입력 노드. 물론 그 문제를 해결할 수 있지만 한계가 어디에서 비롯되는지 궁금해하고있었습니다. 감사합니다. .
스티브 맥코넬 (Steve McConnell)의 "코드 컴플리트 (Code Complete)"옹호자는 부분적으로 프로그래밍 효율성 연구를 기반으로하고, 메소드가 7 가지 이상의 인수를 가져서는 안되며 최근에는 Robert C. Martin의 "Clean Code" 한계를 3으로 낮 춥니 다. 나는 인터페이스를 재 설계해야 할 때를 결정할 때 좋은 경험을 발견했으며, 3은 극단적 인 것처럼 보입니다. 예, 저는 매크로와 함께 모든 특별한 상황을 알고 있습니다. 단지 "일반"의 경우 20이 상당히 관대하다는 것을 지적합니다. –
배열 등으로 뉴런을 만들고 함수에 seqs로 입력하십시오. 그리고지도를 줄이십시오 seqs? 이 같은? http://www.fatvat.co.uk/2009/06/back-propagation-algorithm-in-clojure.html – claj