직접 배열을 만들 수 make_array
을 사용할 수 있습니다 :이 같은 리스프 호출의
(%i18) make_array(fixnum,4,3,8);
(%o18) {Array: #3A(((0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0))
((0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0))
((0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0))
((0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0)))}
또는 바인드 결과 :
그런데
(%i21) :lisp (msetq $foo (make-array '(4 3 8)));
#3A(((NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL))
((NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL))
((NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL))
((NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)))
(%i21) foo;
(%o21) {Array: #3A(((NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL))
((NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL))
((NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL))
((NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)
(NIL NIL NIL NIL NIL NIL NIL NIL)))}
, array
아마 당신도 일했다. 나는 그것을 사용한 적이 한번도 없었습니다. 왜냐하면 그것은 창조 이후에 인쇄되지 않기 때문에 처음에는 혼란 스러웠습니다. 그러나 documentation과 Wikibooks 기사 확인 후 :
(%i22) array(A,2,2,2);
(%o22) A
(%i23) arrayinfo(A);
(%o23) [declared, 3, [2, 2, 2]]
(%i24) A[0,1,2]: 2;
(%o24) 2
(%i25) listarray(A);
(%o25) [#####, #####, #####, #####, #####, 2, #####, #####, #####, #####,
#####, #####, #####, #####, #####, #####, #####, #####, #####, #####, #####,
#####, #####, #####, #####, #####, #####]
위의 링크 된 위키 책 기사로 꽤 많은 맥시마에서 이런 종류의 일에 대한 옵션, 또는 것 같다을 로버트 Dodier 지수 : "맥시마의 현재 배열/매트릭스 의미가 엉망이다 [...] "
'Lisp 배열 [4,3,8]'..으로 출력되고 있습니다. 일부 옵션을 활성화해야합니까? – Rorschach
아니요,이 항목은 Maxima 5.24.0에서 나에게 적합하지만 어쩌면 최신 버전으로 변경되었습니다. 그런데 나는'array' (기본적으로 생성 된 결과 배열을 출력하지 않음)를 포함하도록 대답을 확장하고 몇 개의 링크를 제공했습니다. 어쩌면 그것이 당신을 더 멀리 도울 것입니다. – danlei
이것을보아야 할 측면은 불완전한 인덱스를 전달하는 것보다 전의 'arrayinfo (t);'=>'Lisp 배열 [2,3,4]'에 대한 출력을 나타내는 표현식에 약간의 오류를 유도하는 것입니다. PROGN [또는 피 호출자]의 오류 : # 3A (((0 0 0 0) (0 0 0 0) (0 0 0 0)) 예를 들면 다음과 같습니다. - t [1] [2]; ((0 0 0 0) (0 0 0 0) (0 0 0 0))) 잘못된 계급' – Rorschach