Agena

소프트웨어 스크린 샷:
Agena
소프트웨어 정보:
버전: 2.11.5 업데이트
업로드 날짜: 22 Jun 18
개발자: Alexander Walz
라이센스: 무료
인기: 23

Rating: nan/5 (Total Votes: 0)

Agena는 오픈 소스, 무료, 멀티 플랫폼 및 일상적으로 사용하도록 고안된 손쉬운 학습 프로그래밍 언어입니다. 그래픽, 과학, 언어 및 교육 환경 에서뿐만 아니라 스크립팅 응용 프로그램에서 사용할 수 있으며 모든 주류 운영 체제를 지원합니다.


수많은 유량 제어 설비 제공

애플리케이션은 if, then과 같은 다양한 흐름 제어 기능을 제공합니다. elif, else 조건, case 및 else 조건은 연산자, from, to 및 by 루프, 숫자 for 및 while 반복자, for 및 in 루프, while 및 do 루프, skip 문, 중단 문 및 데이터 유형 유효성 검사를 수행합니다.


열거 할당 지정

다른 기능 중에서도 우리는 임의의 정밀도 수학 라이브러리, 개인 환경의 손쉬운 구성, 사용하기 쉬운 패키지 시스템, 열거 할당, epocs / scope 키워드를 통한 범위 제어 및 기타 많은 매력적인 기능을 언급 할 수 있습니다.

두건 및 가용성 확인

후드를 간략히 살펴보면 프로젝트가 C, BASIC, Lua 및 ALGOL 68 프로그래밍 언어로 작성된 것으로 표시됩니다. 즉, 구문이이 프로젝트의 구문과 유사 함을 의미합니다. 콘솔 / 터미널 환경에서 완전히 실행되므로 그래픽 사용자 인터페이스 (GUI)가 없다는 것을 의미합니다.


간단한 편집기로 배송

Agena 소프트웨어는 명령 행 응용 프로그램 임에도 불구하고 AgenaEdit라는 간단한 편집기 그래픽 소프트웨어가 함께 제공됩니다.이 소프트웨어는 통합 Agena 환경과 구문 강조 기능을 제공합니다. FLTK 크로스 플랫폼 C ++ GUI 툴킷에 대해 Bill Spitzak이 개발 한 유사한 편집기에 크게 영향을 받았습니다.


라스베리 파이 작품

Agena의 그래픽 기능은 GNU / Linux, Solaris, Mac OS X, Microsoft Windows, eComStation-OS / 2 및 DOS 운영 체제에서 지원됩니다. 이 제품은 64 비트 및 32 비트 하드웨어 플랫폼 모두에 쉽게 배포 할 수 있으며 ARM 기반의 Raspberry Pi 컴퓨터 보드에서 성공적으로 테스트되었습니다.

이 릴리스의 새로운 기능 :

새로운 미적분 및 통계 함수

버전의 새로운 기능 :

새로운 미적분 및 통계 함수

2.9.4 버전의 새로운 기능 :

새로운 미적분 및 통계 함수

2.8.5 버전의 새로운 기능 :

새로운 미적분 및 통계 함수

2.8.2 버전의 새로운 기능 :

새로운 미적분 및 통계 함수

`stats.chauvenet`는`outlier = 'lower'`옵션이나` outlier = 'upper'이다.
`bags.remove`는 분할 오류를 일으켰습니다. 이 문제가 수정되었습니다. 또한 C로 구현 된 모든 '가방'기능이 내부적으로 변경되었습니다.
`with` 함수 나`import / alias` 문으로`bags` 패키지가 호출되지 않으면`+`,`-`,`*`에 대한 (문서화되지 않은) 메타 메소드가 작동하지 않습니다. 이 문제가 수정되었습니다.

버전 2.5.4의 새로운 기능 :

`stats.chauvenet`는`outlier = 'lower'또는`outlier = 'upper'옵션을 각각 넘겨줌으로써 상한값이나 상한값을 검사 할 수 있습니다.
`bags.remove`는 분할 오류를 일으켰습니다. 이 문제가 수정되었습니다. 또한 C로 구현 된 모든 '가방'기능이 내부적으로 변경되었습니다.
`with` 함수 나`import / alias` 문으로`bags` 패키지가 호출되지 않으면`+`,`-`,`*`에 대한 (문서화되지 않은) 메타 메소드가 작동하지 않습니다. 이 문제가 수정되었습니다.

버전 2.5.3의 새로운 기능 :`stats.chauvenet`은`outlier = 'lower'`또는` outlier = 'upper'이다.
`bags.remove`는 분할 오류를 일으켰습니다. 이 문제가 수정되었습니다. 또한 C로 구현 된 모든 '가방'기능이 내부적으로 변경되었습니다.
`with` 함수 나`import / alias` 문으로`bags` 패키지가 호출되지 않으면`+`,`-`,`*`에 대한 (문서화되지 않은) 메타 메소드가 작동하지 않습니다. 이 문제가 수정되었습니다.

버전 2.4.2의 새로운 기능 :


`stats.chauvenet`은`outlier = 'lower'또는`outlier = 'upper'옵션을 각각 넘겨줌으로써 상한값이나 상한값을 검사 할 수 있습니다.
`bags.remove`는 분할 오류를 일으켰습니다. 이 문제가 수정되었습니다. 또한 C로 구현 된 모든 '가방'기능이 내부적으로 변경되었습니다.
`with` 함수 나`import / alias` 문으로`bags` 패키지가 호출되지 않으면`+`,`-`,`*`에 대한 (문서화되지 않은) 메타 메소드가 작동하지 않습니다. 이 문제가 수정되었습니다.

버전 2.3.0 RC1의 새로운 기능 :

숫자 형 for 루프는`downto '키워드를 지원하므로 의무적 인 음수`by` 단계 크기를 사용하지 않고 카운트 다운 할 수 있습니다. `downto '문맥에서'by '단계 크기는 항상 양수 여야합니다. `downto '키워드를 사용할 때`from'시작 값과`to 'stop 값은 필수적입니다.
메타 메서드 '__finite', '__entier'및 '__sqrt'는 더 이상 지원되지 않습니다. 대신 구조에 대한 작업을위한 세 가지 새로운 메타 대가 추가되었습니다. 조합 작업을위한 '__union', 교차점을 결정하는 '__intersect'및 차이점에 대한 '__minus'가 추가되었습니다. 따라서`bags` 패키지는 이제이 세 가지 작업을 지원합니다.
``정수 나누기 연산자는 메타 메서드를 지원하지 않고 대신 float divison (`/`연산자)에 사용했습니다. 이 문제가 수정되었습니다.
새로운 함수`stats.gini`는 (in) 평등의 척도 인 지니 계수를 결정합니다.
새로운 함수`stats.zscore`는 샘플의 z- 스코어 (표준 스코어)를 계산하는 함수를 반환합니다 - 샘플이 분포의 평균보다 높거나 낮은 표준 편차의 수입니다.

`stats.sorted`는 기본적으로 Quicksort 대신 Introsort 알고리즘을 사용합니다. 이는 일반 상황에서 성능을 저하시키지 않으면 서 불량 상황 (Quicksort가 O (n ^ 2) 작업이 필요한 경우)에서 계산 시간을 3 배나 단축 할 수 있습니다. 사실, Introsort는 기본적으로 Quicksort를 사용하고 순환 깊이가 2 * log (n, 2)에 도달하면 Heapsort로 자동 전환합니다. 여기서 n은 구조의 요소 수입니다.
기존의 재귀 Quicksort 메서드 만 사용하는 새로운 옵션 인 quicksort를 전달하여이 논리를 무시할 수 있습니다. 또한`stats.sorted`는 새로운 옵션 인 'heapsort'가 전달되면 Heaport 알고리즘을 독점적으로 사용할 수 있으며, 새로운 옵션 인 'nrquicksort'로 Niklaus Wirth가 고안 한 비 재귀 퀵 소트 알고리즘을 사용할 수 있습니다.
새로운 함수`stats.meanmed`는 산술 평균과 분포의 중간 값 또는 평균과 중앙값의 지수를 반환하며,이 값들이 약 20 퍼센트 정도 필요할 때 계산 시간을 단축시킵니다.
`size` 연산자의 오류 메시지가 개선되었습니다.

2.1.1 버전의 새로운 기능 :

새로운 기능 및 패치 :
`try / catch` :`catch` 토큰 바로 뒤에 오류 변수를 명시 적으로 지정하는 것이 이제 선택 사항입니다. 에러 변수가 주어지지 않으면, 에러 메시지는 자동적으로 로컬`lasterror` 변수에 저장되고`then` 키워드는 빠져 있어야합니다 :
& gt; 시험
& gt; 오류 ( 'oops!')
& gt; 잡기
& gt; 인쇄 (래스터 오류)
& gt; yrt;
죄송합니다.
`try / catch` 문은 프로 시저에서 때때로 작동하지 않았습니다 (할당되지 않은 오류 변수). 이 문제가 수정되었습니다.
새로운`net.wget` 함수는 웹에서 HTML 페이지를 다운로드합니다.
`skycrane.counter`을 10 % 조정했습니다. 새로운 세 번째 인수가 문자열 'ozawa'이면이 함수는 원래 Kahan 합산 알고리즘 대신 Kahan-Ozawa를 선택적으로 적용합니다. 컴파일러 최적화를 방지하기 위해 해당 C 소스가 수정되어 최적화를 취소 할 수 있습니다.
argerror는 이제 오류 메시지에 수신 된 값의 사용자 정의 유형 이름을 인쇄합니다. 값에 사용자 정의 유형이 없으면 기본 유형이 _ 행됩니다.

`debug.getinfo`에 대한 새로운 'a'옵션은 Rob Hoelz의 LuaPowerPatch 덕택에 프로 시저가 기대하는 인자의 수를 반환합니다.
문자열에 대한`index-out-range` 오류 메시지 개선.
오류 처리와 관련하여`stats.agn`,`linalg.agn`,`library.agn` 및`ansi.agn` 파일을 수정했습니다.

버전 2.1.0의 새로운 기능 :

새로운 종류의 에러 처리를 위해 새로운`try / catch` 문이 도입되었습니다. Hu Qiwei가 2008 년에 Lua 5.1을 위해 발명 한 책입니다.
일반적으로 예외가 예상되는 명령문은`try` 절에 넣을 수 있습니다. `error` 함수 또는 다른 표현식, 함수, 또는 문장에 대한 명시적인 호출에 의해 에러가 발생하면 컨트롤은 해당하는`catch` 절이 있으면`try / yrt '의 끝 ​​부분으로 즉시 이동합니다 `문이`catch` 절이 주어지지 않았다면`try` 절의 다른 후속 문을 무시합니다.
`protect / lasterror` 오류 처리 기능은 여전히 ​​지원되며 항상 지원됩니다. 새로운 제어 문은 'break',`skip`,`redo` 및`return` 문에서도 완벽하게 작동합니다.
새로운`redo` 문은 처음부터`for / to`와`for / in` 루프의 현재 반복을 다시 시작합니다.
새로운`recip` 연산자는 숫자 x의 역함수를 반환합니다. 1 / x 표현식과 동일하지만 빠릅니다.

새로운`stats.ema` 함수는 분포의 지수 이동 평균을 계산합니다. 새로운 함수`stats.gema`는 분포의 지수 이동 평균을 반환하는 반복 함수를 반환합니다.
오른쪽 피연산자가 0이면 정확한 결과 대신`* %`,`+ %`및`- %`는`undefined`를 반환했습니다. 이 문제가 수정되었습니다.
`net.survey`에 오류 메시지가 수정되었습니다.
쌍 및 문자열의 범위를 벗어나는 색인 생성에 대한 오류 메시지가 개선되었습니다.
ANSI, Solaris 및 DOS 버전에서`int` 연산자가 조정되었습니다.
새로운 C API 함수 인`agn_arraytoseq`는 숫자 배열을 시퀀스로 변환하고이 새로운 시퀀스를 스택 맨 위로 밀어 넣습니다.
매뉴얼을 업데이트했습니다.

버전 2.1.0 RC의 새로운 기능 :

새로운`redo` 문은 처음부터`for / to`와`for / in` 루프의 현재 반복을 다시 시작합니다. 예:
& gt; 플래그 : = true; & gt; j에 대한 [10, 11, 12] do & gt; print ( 'before', j, flag); & gt; 플래그 및 j = 11이면 & gt; 클리어 플래그; & gt; print ( '- & gt;', j, flag, 'jump back') & gt; 다시 실행 & gt; fi; & gt; print ( 'after', j, flag) & gt; j & gt; 12; 10 전후 진실 10 전 진실 11 전 - 참다. 11 이전에 거짓 점프 11 거짓말 후 11 거짓 거짓말 12 거짓말 12 거짓말
새로운`recip` 연산자는 숫자 x의 역함수를 반환합니다. 1 / x 표현식과 동일하지만 빠릅니다.
새로운`stats.ema` 함수는 분포의 지수 이동 평균을 계산합니다. 새로운 함수`stats.gema`는 분포의 지수 이동 평균을 반환하는 반복 함수를 반환합니다. 사용법은 src / stats.c 소스 파일 인 C 함수 * ema를 살펴보십시오.
오른쪽 피연산자가 0이면 정확한 결과 대신`* %`,`+ %`및`- %`는`undefined`를 반환했습니다. 이 문제가 수정되었습니다.
`net.survey`에 오류 메시지가 수정되었습니다.

새로운 C API 함수인`agn_arraytoseq`는 숫자 배열을 시퀀스로 변환하고이 새로운 시퀀스를 스택의 맨 위에 푸시합니다.

버전 2.0.0의 새로운 기능 :

새로운 문장과 기능 :
Agena 2.0은 Agena 1.12와 하위 호환성이 있습니다. 단,`import`,`alias`,`until` 및`onsuccess` 토큰은 키워드가되어 더 이상 변수로 사용할 수 없습니다. 현재 모든 새로운 기능을 자세히 설명하는 업데이트 된 입문서 (Primer and Reference)를 포함하여 Solaris, Debian (x86, PowerPC, Raspberry Pi), Windows, Mac 및 DOS 설치 프로그램 2.0이 있습니다.
새로운 루프 변종`for / as`와`for / until`는 현재 반복 끝에 조건을 검사하고 다음 반복을 시작하거나 루프를 종료합니다. 이것은 for / in과 for / in 루프 모두에서 작동합니다. 결과적으로 두 변형은 주어진 조건이 검사 될 때까지 적어도 한 번 루프를 실행합니다.
예 :
& gt; 내가 ~ 할 5
& gt; 인쇄 (i)
& gt; i & lt; 삼
& gt; [1, 2, 3, 4, 5]에서 나는
& gt; 인쇄 (i)
& gt; i> = 3 일 때까지
새로운`do / until` 루프는 특정 조건이 충족 될 때까지 반복합니다 :
& gt; c : = 0;
& gt; 해야 할 것
& gt; inc c;
& gt; 인쇄 (c)
& gt; c> = 3이 될 때까지숫자 형 for 루프에서`to` 절이 더 이상 제공되지 않을 수도 있습니다. 대신,`to` 절을 생략하면 C HUGE_VAL에있는 플랫폼에서 표현할 수있는 최대 수에 도달 할 때까지 루프가 반복됩니다.
& gt; 내가 할 일을 위해서
& gt; 인쇄 (i)
& gt; 중독
적어도 하나의 조건이 참이라면`if`와`case` 문장의 새로운`onsuccess` 절이 청크를 실행합니다. 예 :
& gt; 플래그 : = 거짓;
& gt; 1 = 0이면
& gt; 인쇄 (0)
& gt; elif 1 = 1 then
& gt; 인쇄 (1)
& gt; 계속해서
& gt; 플래그 : = true
& gt; 그밖에
& gt; 인쇄 (-1)
& gt; fi;
& gt; 인쇄 (깃발);
참된
& gt; 플래그 : = 거짓;
& gt; 1 = 0이면
& gt; 인쇄 (0)
& gt; elif 1 = 0
& gt; 인쇄 (1)
& gt; 계속해서
& gt; 플래그 : = true
& gt; 그밖에
& gt; 인쇄 (-1)
& gt; fi;
& gt; 인쇄 (깃발);
그릇된
& gt; 플래그 : = 거짓;
& gt; a : = 2;
& gt; 케이스 a
& gt; 1의 다음
& gt; 인쇄 (1)
& gt; 2의 다음
& gt; 인쇄 (2)
& gt; 계속해서
& gt; 플래그 : = true
& gt; 그밖에& gt; 인쇄 (-1)
& gt; esac;
& gt; 인쇄 (깃발);
참된
새로운`import` 문은 이름을 따옴표에 넣지 않고 하나 이상의 라이브러리를 가져올 수 있습니다. "import calc, stats"는 "readlib ( 'calc', 'stats')와 같습니다.
`import` 문의`alias` 옵션은 초기화 된 라이브러리 함수에 하나 이상의 짧은 이름을 할당합니다. "import calc alias xpdiff"는 "with ( 'calc', 'xpdiff')와 같으며 'import calc alias'는"with ( 'calc') "와 동일합니다.
새로운`..` 연산자는 왼쪽 피연산자가 'null'로 평가되는 경우에도 테이블을 인덱싱 할 수 있습니다. 이 경우,`null`이 리턴되고`필드를 인덱스하려고 시도 ... (널값) '오류가 발생하지 않습니다. 그것은`getentry` 함수와 비슷하지만 3 배 빠릅니다. 예 :
& gt; 테이블 만들기;
& gt; a.b :
없는
& gt; 알파벳:
stdin의 1 행 라인 오류 :
필드 'b'(null 값)를 인덱싱하려고 시도합니다.
& gt; 알파벳:
없는
& gt; 테이블 만들기;
& gt; a [1] :
없는
& gt; a [1] [2] :
stdin의 1 행 라인 오류 :
필드`?`(null 값)를 인덱스하려고 시도합니다.
& gt; a .. [1] .. [2] :
없는

새로운 함수`drem`은 정수 나누기 x / y의 나머지를 계산하지만, 'irem`과 반대로 내부 지수 x / y를 0 대신에 가장 가까운 정수로 반올림합니다.
새로운 함수`skycrane.todate`는 현재 날짜와 시간을 형식화 된 문자열로 반환합니다.
새로운 함수`io.truncate`는 현재 파일 위치의 파일을 자릅니다.
새로운 함수`io.move`는 주어진 문자 수만큼 파일 위치를 왼쪽이나 오른쪽으로 변경합니다.
새로운 함수`io.filesize`는 파일의 크기를 반환합니다.
`readlib`는 문자열을 인자로 받아들입니다. 번호는 더 이상 허용되지 않습니다.
`with`에 대한 마지막 인수가`false` 부울이면, 함수는 할당 된 짧은 이름을 콘솔 (stdout)에 쓰지 않습니다.
`strings.fields`는 이제 일련의 인덱스 번호를 받아들입니다. 그러나 인덱스 "0"을 더 이상 허용하지 않습니다.
Raspberry Pi Wheezy 데비안 설치 프로그램에는 이제`gdi` 그래픽 패키지가 포함되어 있습니다.
이제`change.log` 파일이 Windows에 올바르게 표시됩니다.

버전 2.0.0 RC3의 새로운 기능 :


새로운 루프 변종`for / as`와`for / until`는 현재 반복 끝에 조건을 검사하고 다음 반복을 시작하거나 루프를 종료합니다. 이것은 / for 루프와 for 루프 모두에서 작동합니다.

버전 2.0.0 RC2의 새로운 기능 :



새로운 루프 변종`for / as`와`for / until`는 현재 반복의 끝에서 조건을 검사하고 다음 반복을 시작하거나 루프를 종료합니다. 이것은 / for 루프와 for 루프 모두에서 작동합니다.

버전 2.0.0 RC1의 새로운 기능 :


새로운`import` 문은 이름을 따옴표에 넣지 않고 하나 이상의 라이브러리를 가져올 수 있습니다. "import calc, stats"는 "readlib ( 'calc', 'stats')와 같습니다.
`import` 문의`alias` 옵션은 초기화 된 라이브러리 함수에 하나 이상의 짧은 이름을 할당합니다. "import calc alias xpdiff"는 "with ( 'calc', 'xpdiff')와 같으며 'import calc alias'는"with ( 'calc') "와 동일합니다.
새로운`..` 연산자는 왼쪽 피연산자가 'null'로 평가되는 경우에도 테이블을 인덱싱 할 수 있습니다. 이 경우,`null`이 리턴되고`필드를 인덱스하려고 시도 ... (널값) '오류가 발생하지 않습니다. 그것은`getentry` 함수와 비슷하지만 3 배 빠릅니다.

버전 1.12.9의 새로운 기능 :

새로운 함수`io.getclip`과`io.putclip`은 Agena와 클립 보드 사이에서 텍스트를 교환합니다 (Windows에만 해당).
`stats.prange`는 C로 다시 작성되었으며 최대 60 % 빨라졌습니다.
이제`os.cpuinfo`는 ARM 기반 시스템에 대한 정확하고 자세한 정보를 반환합니다.
Mac OS X 및 복잡한 도메인에만있는 DOS 및 UNIX 시스템에서 기본 0을 지수 0 + r * I로 지수화하고 r이 0이 아닌 float를 사용하면 0 대신에 'undefined`가 반환됩니다. 결정된.
Mac OS X 및 복잡한 도메인에만있는 DOS 및 UNIX 시스템에서 기수 0을 지수 r + 0 * I로 지수화 한 결과 양의 float 값이 0 인 대신 'undefined`가 반환되었습니다.이 문제가 해결되었습니다.
`stats.obcount`와`stats.obpart`는 가장 오른쪽의 서브 구간에 값을 포함 할 수 없습니다. 이 문제가 수정되었습니다.
`calc.nakspline`,`calc.naksplinecoeffs`,`calc_clampedspline`, 그리고`calc_clampedsplinecoeffs`는 너무 적은 수의 포인트, 즉 쌍을 포함하고있는 구조체로 불리면 세그멘테이션 폴트를 일으켰습니다. 이 경우에는`fail`을 돌려줌으로써이를 수정하였습니다.

잠재적 인 메모리 할당 해제 오류가`calc.neville`,`calc.interp`,`calc.newtoncoeffs`,`calc.naksplinecoeffs`,`calc.clampedsplinecoeffs`,`calc.nakspline` 그리고`calc .clampedspline`.
새로운 C API 함수 인`agn_checkinteger`는 인수가 숫자인지 정수인지 검사하고,`luaL_checkinteger`와 반대로 - 에러를 출력합니다.

버전 1.9.0의 새로운 기능 :


새로운`alternate` 함수는 두 번째 인수가`null` 인 경우 첫 번째 인수를 반환합니다. 그렇지 않으면 두 번째 인수를 반환합니다.
Agena 실행 파일에 대한 -b 스위치는 출력이 -v 옵션과 동일하므로 제거되었습니다.
`strings.utf8size`의 Windows 및 UNIX / Mac 버전에는 잠재적 인 메모리 누수가있었습니다. 이것은 변경되었습니다.
더하기 라이브러리의 모든 바이너리 DLL / SO에는 운영 체제에 따라 크기를 최대 10 % 줄인 사용되지 않는 코드가 더 이상 포함되지 않습니다. makefile과 이전에 사용되지 않은 헤더 파일을 가져 오는 소스가 변경되었습니다. 예를 들어 Windows의 바이너리 크기를 55kByte 줄입니다.
테스트 스위트 확장.
구성표 파일을 업데이트했습니다.

버전 1.6.0의 새로운 기능 :

새로운 기능 및 특징 :
새로운 함수`checktype`은 구조 내의 모든 값들이 주어진 타입인지의 여부를 결정합니다.
새로운 함수`isint`는 모든 인자가 정수인지 검사합니다.
새로운 함수`strings.dleven`은 두 문자열의 Damerau-Levenshtein 거리를 반환합니다.
새로운 함수`stats.ad`는 구조 내의 모든 값의 절대 편차를 결정합니다.
새로운`stats.countentries` 함수는 구조체 내의 모든 원소의 발생 횟수를 카운트합니다.
`stats.deltalist`라는 새로운 함수는 각각의 이웃 원소의 델타 구조를 반환합니다.
새로운 함수`stats.gmean`은 구조체의 기하 평균을 반환합니다.
새로운 stats.hmean 함수는 구조의 고조파 평균을 반환합니다.
새로운 함수`stats.ios`는 배포판의 안정성에 대한 입증 된 지표를 반환합니다.
새로운 함수`stats.iqr`는 사 분위 범위를 반환합니다.
새 함수`stats.issorted`는 구조체의 모든 숫자가 오름차순으로 정렬되어 있는지 확인합니다.
새로운 함수`stats.moment`는 원점에 대한 주어진 데이터의 순간을 계산합니다.새로운 함수`stats.numbperm`은 순열의 수를 반환합니다.
새 함수`stats.percentile`은 백분위 수를 결정합니다.
새로운 함수`stats.skewness`는 확률 분포의 대칭성을 나타내는 skewness를 반환합니다.
새로운 함수`stats.sumdata`는 구조체의 원점에 대한 모든 능력을 합산합니다.
`stats.tovals`는 이제 C 라이브러리 함수이므로 최대 40 % 더 빠릅니다.
빈 테이블이나 시퀀스를 사용하면`stats.qmean`,`stats.mean`,`stats.gmean`,`stats.sd`,`stats.median`,
`stats.var`는 이제 실패를 리턴합니다.
독립 실행 형 인터프리터에서 입력 행의 최대 길이가 512에서 2048 자로 변경되었습니다.
새로운 환경 변수`environ.maxpathlength`는 파일 경로 (C의 문자 제외)의 최대 문자 수를 저장합니다.
새로운 환경 변수 인`environ.minnumber`와`environ.maxnumber`는 Agena 번호 (현재는 ANSI-C double)가 저장할 수있는 최소값과 최대 값을 가지고 있습니다.
새로운 환경 변수`environ.umaxlong`은 32 비트 시스템에서 unsigned long 타입의 C 타입의 최대 정수 값을 포함하고, 16 비트 시스템에서는 unsigned long 타입을 포함합니다.
C API :Lua의 C API에 대한 Agena C API의 100 % 호환성은 Lua의 덤프 기능을 도입하여 다시 설정되었습니다. 따라서 이제 바이너리 표현으로 함수를 저장할 수 있습니다. C 레벨에서`strings.dump` 또는 lua_dump를 사용합니다.
선택적`부울 인수를 확인하고 성공할 경우이를 반환하는 새로운`agnL_optboolean` 함수를 도입했습니다.
버그 수정:
`environ.globals`는 항상 에러로 종료됩니다.
`assum`는 인수가 모두 있거나 'undefined'로 평가되면 false를 반환합니다. 이 경우에는 이제 true를 반환합니다.
Agena는 빈 테이블과 분리자를`join '에 전달할 때 추락했습니다 - 이것은 수정되었습니다.
`colour` 옵션은 더 이상`gdi.plot`에 의해 무시되지 않습니다.
테이블의 경우,`stats.minmax`는 최소값에 대해 잘못된 값을 반환했습니다. 이제 올바르게 작동합니다.
빈 테이블을 사용하면`stats.median`이 0을 반환합니다. 이제는 실패합니다.
문서와는 달리,`strings.isending`은 두 문자열이 동일 할 때 'true'를 반환합니다. 이 문제가 수정되었습니다.
기존 Agena 스크립트에 구문 오류가있는 경우`run '이 (가)'파일을 열 수 없습니다. '를 반환했습니다. 이것은 완전히 기능을 다시 작성함으로써 수정되었습니다.추가 된 루아 5.1.4 패치 9 : "일부 복잡한 [예 : 복잡한] 부울 표현식에 대한 잘못된 코드 생성."
Lua 5.1.4 패치 11을 추가했습니다. "파서는 빌드하는 동안 프로토 타입을 수집 할 수 있습니다."
* Info : Lua 5.1.4 패치 10 추가하기, "metetaatable이 자체 metatable 일 경우"[__write / __ new] 인덱스 메타 메소드가 작동하지 않을 수 있습니다. ", Agena는 필요하지 않습니다. 왜냐하면 Agena는 이미이 경우에 올바르게 작동하기 때문입니다.
사용하지 않은 키워드`default`를 삭제했습니다.
일부 기능 및 기능 향상.
향상된 기능 :
Mac 버전에`io.anykey`의 _experimental_ 버전을 추가했습니다. 그러나 적어도 Lion에서는 가끔 눌러주는 키가 쉘에 표시됩니다.
`utils.readcsv`는 이제 임의의 순서로 CSV 파일의 모든 값을 반환 할 수 있습니다.
`clock` 패키지는 나눗셈 연산자`/`를 이제`tm` 연산자의 메타 테이블에 추가함으로써 지원합니다.많은 라이브러리 함수에 짧은 이름을 할당 할 수 없기 때문에`with '의 동작이 변경되었습니다 : 함수가 .aux 테이블에 삽입 된 경우,이 함수 이름에 짧은 이름을 할당하지 마십시오. 그렇지 않으면 _all_ 다른 패키지 기능에 짧은 이름을 지정하십시오. 따라서 :`package.register`는`short`를 할당하기 위해 모든 라이브러리 함수를 등록하기 위해 더 이상 필요하지 않습니다. 다음 릴리스 중 하나에서 사용되지 않습니다.
테스트 스위트 개선.
조작:
설명서와 색인이 향상되었습니다.
일관성:
다음의 모든 이름 변경에 대해 다음의 이전 변수 이름은 계속 지원됩니다.
`environ.MinLong`은`environ.minlong`으로 이름이 바뀌 었습니다.
`environ.MaxLong`은`environ.maxlong`으로 이름이 바뀌 었습니다.
`environ.BufferSize`는`environ.buffersize`로 이름이 바뀌 었습니다.
`environ.PathSep`의 이름이`environ.pathsep`로 변경되었습니다.
`environ.More`는`environ.more`로 이름이 바뀌 었습니다.
`environ.WithProtected`는`environ.withprotected`로 이름이 바뀌 었습니다.
`environ.Os`는`environ.os`로 이름이 바뀌 었습니다.
`environ.Cpu`는`environ.cpu`로 이름이 바뀌 었습니다.
`environ.Release`는`environ.release`로 이름이 바뀌 었습니다.

`environ.GdiDefaultOptions`의 이름이`environ.gdidefaultoptions`로 변경되었습니다.
Windows에서`os.login`과`os.computername`은 이제 UNIX 나 OS / 2 버전처럼 '실패'를 반환합니다.
`-DCOMPAT13` 스위치는 Agena 1.3.x 호환 버전을 컴파일하기 위해 마침내 제거되었습니다.
다른:
더 이상 사용되지 않는`calc.fseq`가 삭제되었습니다. 대신에`nseq`를 사용하십시오.

버전 1.5.1의 새로운 기능 :

전혀 작동하지 않는`strings.fields`를 패치했습니다. 또한 C 라이브러리 함수로 변환되어 2.6 배 빠릅니다.
`strings.words`는 ​​이제 세 번째 인수를 받아들입니다. 'true'로 설정하면 후속 분리 문자가 무시됩니다.
`io.write`와`io.writeline`에서 가능한 보안 유출을 제거하고 오류 메시지를 개선했습니다.
`binio.readchar`을 패치하여 크기가 2GB보다 큰 파일의 문제를 피했습니다.
`xbase.prege`,`xbase.readvalue`,`xbase.purge`,`ads.getvalues`,`binio.readshortstring`,`os.computername`,`os.login`,`os의 에러 메시지를 수정했습니다. fattrib`,`environ.kernel`,`package.register`입니다.
테라 바이트는 이제 표기 T로 입력 할 수 있습니다. 여기서는 정수이고 T는 문자 'T'입니다. 마찬가지로, g는 수십억 및 수조를 나타냅니다. 자세한 내용은 설명서 48 페이지를 참조하십시오.
매뉴얼을 업데이트했습니다.
C 소스 코드의 대부분의 이전 버전 호환성 스위치는 코드 정리 이유로 제거되었습니다. 이것은 Agena 1.5 이상을 Agena 1.3과 1.4에 완전히 하위 호환성을 가지고 재 컴파일하려고 시도하는 사람들과 Lua 5.0에 대한 대부분의 하위 호환성 (이전 Lua 5.0 라이브러리 처리를 제외하고)에만 영향을 미칩니다.

버전 1.5.0의 새로운 기능 :

`map`은 이제 두 번째 인자로 주어진 문자열을 처리 할 수 ​​있습니다. 각 함수와 해당 인수는 왼쪽에서 오른쪽으로 각 문자에 연속적으로 적용되고 결과는 시퀀스로 반환됩니다.
`run` : 'agn'접미사가있는 파일에서 코드를로드하고 실행하려면 더 이상 인수에 접미어를 지정할 필요가 없습니다. 그래서`run 'test'와`run 'test.agn'은 이제 동일합니다.
`is` 키워드는 이제 프로 시저를 정의해야합니다. (GCC를 사용하면 -DCOMPAT14 스위치를 사용하여 Agena 버전을 컴파일 할 수 있는데, 여기서`is` 키워드는 여전히 선택 사항입니다.)
`try` 문은 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. (GCC를 사용하는 경우 -DCOMPAT14 스위치를 사용하여이 명령문을 여전히 지원하는 Agena 버전을 컴파일하십시오.)
다음`utils` 함수가 제거되었습니다 :`arrayize`,`getarray`,`getwholearray`,`newarray`,`searcharray`,`setarray`. 이전 버전과의 호환성을 위해 lib / compat.agn 파일에 추가되었습니다. (GCC의 경우 -DCOMPAT14 스위치를 사용하여 원래의 utils 함수를 여전히 지원하는 Agena 버전을 컴파일하십시오.)`utils.singlesubs`는 완전히 다시 작성되었습니다. 이제 이전 stringarray userdata 구조 대신 두 번째 인수로 숫자 시퀀스가 ​​필요합니다. 이전 버전보다 35 % 더 느리지 만 stringarray 구조를 제거하는 것이 더 중요합니다.
`strings.include`는 두 번째 인수로 0을 사용하여 호출하면 충돌합니다. 이 문제가 수정되었습니다.
적용된 Michael G. Schwern의 2011 년 5 월 10 일,`os`와`xbase` 패키지에 의해 사용 된`32-bit-Year 2038-fix` 날짜 보조 함수 (`mktime64 ()를 ISO C 필요합니다 .`)
내부 코드 최적화 : 일부 라이브러리 초기화 및 파일로드 C 함수는 스택을 사용하여 경로 및 파일 이름 문자열을 작성했습니다. Solar Designer가 작성한 새로운 C aux 함수 인`concat`가 많은 경우에 대신 사용되고 있습니다.
Agena C API는 이제 C 루아 패키지를 Agena로 포팅하는 것을 용이하게하기 위해 Lua C API와 100 % 호환됩니다.
따라서 다음 함수의 이름이 변경되었습니다. lua_isnumber - & gt; agn_isnumber, lua_isstring - & gt; agn_isstring, luaL_optnumber - & gt; agnL_optnumber, luaL_checknumber - & gt; ____________________number, luaL_optnumber - & gt; agnL_optnumber, luaL_check 정수 - & gt; agnL_checkinteger, luaL_optinteger - & gt; agnL_optinteger.

다음 매크로의 이름이 변경되었습니다. luaL_checkint - & gt; agnL_checkint, luaL_optint - & gt; agnL_optint.
이전의 Agena 구현과는 반대로 lua_tonumber는 HUGE_VAL을 반환하는 대신 숫자가 아닌 숫자가 전달 된 경우 Lua와 마찬가지로 0을 반환합니다.
lua_setglobal2가 제거되었습니다. 대신 lua_pushvalue 및 lua_setglobal을 사용하십시오.

1.4.2 버전의 새로운 기능 :



프로 시저의 매개 변수 목록에서 사용자 정의 유형이 지정된 경우
프로 시저 호출은 다음과 같은 경우 오류가 발생하지 않고 프로 시저가 대신 실행되었습니다.
a) 사용자 정의되지 않은 테이블, 세트, ​​순서, 쌍 또는 프로 시저
유형 -가 전달되었습니다.
b) 해당 매개 변수에 대한 값이 전혀 전달되지 않았습니다.

버전 1.4.1의 새로운 기능 :


`stats.quartiles`와`stats.mode`의 짧은 이름은`with` 함수에 의해 할당 될 수 없습니다. 이 문제가 수정되었습니다.
잘못해서,`with '는`gdi.settriangle`의 짧은 이름을 지정할 수 없습니다. 이것은 변경되었습니다.
`calc.polygen`의 에러 처리가 개선되었습니다.
FRACTINT 맵 파일 누락에 대한`fractals.draw`의 오류 메시지 개선.
더 이상 사용되지 않는`strings.rseek` 함수를 삭제했습니다. 이전 버전과의 호환성을 위해`strings.seek`가 lib / compat.agn 파일에 추가되었습니다.
인터프리터가 시작될 때 디버깅 정보를 출력하는 -d 스위치가 추가되었습니다.
Windows 버전의 Agena는 이제 GCC 4.5.2로 컴파일되었습니다.
업데이트 된 언어 체계 파일.
설명서가 업데이트되었습니다.

버전 1.4.0의 새로운 기능 :

시맨틱 변화 :
숫자 형 for / to 루프의 루프 제어 변수는 이제 (내부) 루프 본문 대신 주변 블록에 자동으로 로컬입니다. 루프 제어 변수와 이름이 같은 로컬 변수가 이전에 선언되고 할당 된 경우
숫자 루프를 실행하면 루프의 마지막 반복 값으로 덮어 씁니다. 따라서 'for` 루프의'외부 '스위치는 더 이상 허용되지 않습니다. (GCC의 경우 -DCOMPAT13 스위치를 사용하여 Agena의 버전을 컴파일하지만 'external` 키워드는 여전히 인식하지만 무시합니다.)
상수`fail`을 사용하면`not`가`true`를 반환하지만`fail`을 변수에 할당하면`not`가 false를 반환합니다. 이것은 변경되었습니다. 즉 'a : = fail; not (a) '는 이제'true '를 반환합니다.
`stats.median`는 주어진 구조체가 비어 있으면 0 대신에`fail`을 반환합니다.
`utils.readcsv` :`delim` 옵션과 함께 하나의 공백이 전달되고`ignorespaces` 옵션이 주어지지 않았다면 파일의 각 라인을 단어로 분리하기 전에 공백이 자동으로 제거되지 않습니다.이 함수는 파일의 첫 번째 줄을 표시하는`header`와 파일 헤더로 정의 된 필드 이름을 사용하여 파일 내용을 사전에 저장할 수있게 해주는`output` 두 가지 새로운 옵션을 가지고 있습니다.
`$`부분 문자열 표기법은 더 이상 지원되지 않습니다. (GCC를 사용하여 -DCOMPAT13 스위치를 사용하여 여전히`$`연산자를 지원하는 Agena 버전을 컴파일하십시오.)
확장 프로그램 :
무한 do / od 루프가 추가되었습니다. 이런 종류의 루프는 무한 반복되며`break` 또는`return` 문으로 만 인터럽트 될 수 있습니다. 그것들은 'true do ... od` while 문에 대한 통사론적인 설탕입니다.
테이블의 경우,`stats.minmax`는 이전에 배열에서만 작동했습니다. 이 변경되었습니다. 즉, 해당하는 양수가 아닌 키 (예 : 문자열, 양수가 아닌 정수, 음수 및 양수 부동 소수점 등)가있는 값이 이제 평가에서 올바르게 인식됩니다.
`stats.mean`,`stats.qmean`,`stats.sd`,`stats.var`도 시퀀스를 처리합니다.
새로운`stats.mode` 함수는 가장 큰 발생 빈도 (즉, 가장 높은 빈도)를 갖는 시퀀스 또는 테이블의 모든 값을 반환합니다.
새로운`stats.quartiles` 함수는 _sorted_ 테이블이나 시퀀스의 첫 번째, 두 번째, 삼중 분위를 반환합니다.이전에 문서화되지 않은 'linalg.matrix'의 기능이 매뉴얼에 추가되었으며 오류 처리가 향상되었습니다.
`linalg.hilbert`의 향상된 오류 처리.
이제`gdi.setinfo`는`square` 옵션을 허용합니다. `square = false` 인 경우, x 축과 y 축은`gdi.plot`으로 생성 된 플롯에 같은 축척을 갖지 않습니다.
불행하게도 그래픽을 그리는`gdi.plot` 함수는 문서화되지 않았다. 이것은 변경되었습니다.
`gdi.plot`는 두 가지 새로운 옵션을 허용합니다 : 'x'옵션은 플롯이 표시되는 수평 범위를 지정하고 'y'옵션은 수직 범위를 지정합니다.
POINT, LINES, RECTANGLES, TRIANGLE, CIRCLE 및 ELLIPSE (* FILLED 변형 포함) 만 포함하는`gdi.plot`에 PLOT 구조체가 전달되면`gdi.plot`은 자동으로 비율을 결정합니다 ( 'gdi.setinfo `반드시 부름을받을 필요는 없다).
루아에서 상속받은 OOP 기능은 이제 부록 A9에 설명되어 있습니다. 저자는 객체 지향 프로그래밍을 권장하지 않습니다.
동조:
약 채워진 연산자를 약 3 % 조정했습니다.
'in`,`join`,`sadd`,`qsadd`,`replace`,`copy`,`unique` 및 Cantor가 테이블에 연산자를 설정하고 비트를 설정합니다.표를 사용하면 '상단'및 '하단'연산자가 현재 약 5 % 빨라졌습니다.
테이블에 널을 포함하지 않으면`size` 연산자가 8 % 이상 빠릅니다.
`linalg.mzip`,`linalg.mmul`,`linalg.transpose`는 각각 약 3 % 씩 조정되었습니다.
분수 스텝 크기가있는 / for 루프의 숫자는 컨트롤 변수의 수를 절반으로 줄임으로써 최적화되었습니다. 그러나 이것은 속도의 증가를 달성하지 못했습니다.
패치 :
특이 행렬을 탐지하기 위해`linalg.ludecomp`를 패치했습니다. 또한이 함수는 주어진 매트릭스의 순서를 자동으로 결정할 수 있습니다.
매뉴얼과 달리`gdi.plot`은 자동으로 수평 및 수직 범위를 결정하지 않았습니다. 이 문제가 수정되었습니다.
`gdi.plot`은 더 이상`gdi.setinfo`에 의해 설정된`square` 옵션을 무시하지 않습니다.
`gdi.setinfo`는 이미 존재하더라도 INFO 구조체에 설정을 추가했습니다. 이것은 변경되었습니다.
서클은`gdi.plot`에 의해 적절하게 플롯되지 않았습니다. 이것은 변경되었습니다.
대부분의 상황에서`gdi.plot` 함수는 기하학적 객체의 개별 색칠을 무시했습니다. 이것은 변경되었습니다.

gdi 패키지는`gdi.settriangle`,`gdi.settrianglefilled`,`gdi.setrectangle`,`gdi.setrectanglefilled`에 대한 짧은 이름을 지정하지 않았습니다. 이것은 변경되었습니다.
프랙 서 패키지는 사용자 정의 유형 'esctime'의 함수에 짧은 이름을 지정하지 않았습니다. 이것은 변경되었습니다. 위치 인수가 숫자가 아닌 경우`fractals.draw` 오류 메시지가 수정되었습니다.
여러 가지 잡다한:
`calc.fseq`의 기능은`nseq`에 병합되었습니다. 이전 버전과의 호환성을 위해`calc.fseq`는 여전히 calc 꾸러미의 일부이지만 실제로 함수는`nseq` 구현을 참조합니다.
`environ.FractScreenUpdates` 변수를`프랙탈 패키지 '에 추가하여 윈도우에서 프랙탈이 업데이트 될 때의 수직선 수 (음수가 아닌 정수)를 나타냅니다. `environ.FractOptimised` 변수는 더 이상 사용되지 않습니다.
보조 gdi 함수가 재 그룹화되었습니다.

버전 1.3.3의 새로운 기능 :


`instr`에 패치 :
regex 모드에서, 시작 위치가 주어지면 오퍼레이터는 잘못된 결과를 리턴했습니다.
일반 검색 모드에서 시작 위치가 제공되지 않으면 연산자가 범위를 벗어난 오류를 반환했습니다.
역방향 검색 모드를 제외하고, 일치하는 항목이 없으면 첫 번째 인수가 'null'대신 반환되었습니다.
시퀀스와 관련하여`create` 문의 오류 메시지를 수정했습니다.
AgenaEdit에서 'print'를 한 번만 호출하면 둘 이상의 구조체를 출력 할 때 첫 번째 구조체가 __tostring 메타 메소드를 특징으로한다면 구조체는 완전한 형태로 인쇄되지 않습니다. 이것은 변경되었습니다.

버전 1.3.2의 새로운 기능 :

이 릴리스에는 버그 수정, 확장 및 향상된 설명서가 포함되어 있습니다.
차원이 구조가 전달 된 경우 흥미로운 결과를 만들어 냈습니다.
이니셜 라이저. 이것은 변경되었습니다 :`dimension`은 이제
테이블을 초기화 할 때 구조체.
`strings.rseek`의 기능이`instr` 연산자에 추가되었습니다.
따라서`strings.rseek`는 더 이상 사용되지 않습니다. 이전 버전과의 호환성을 위해,
`strings.rseek`가 lib / compat.agn 파일에 추가되었습니다.
`strings.hits`는 이제 정규 표현식과 캡쳐를 지원합니다. 이 동작
boolean을 세 번째 인수로 전달하여 해제 할 수 있습니다.
`strings.isabbrev`와`strings.isending`는 자동으로 일반 검색을 사용합니다
정규 표현식이나 캡처가 두 번째 호출의 일부로 전달되지 않은 경우
논의.
'strings.ismagic`과`strings.isfloat`를 조정했습니다.
`log` 함수는 13 % 더 빠릅니다.
`print`를 단지 하나의 호출로 하나 이상의 구조체를 출력 할 때,
첫 번째 구조가 __tostring을 특징으로한다면 구조는 완전한 형태로 인쇄되지 않았습니다.
메타 메서드. 이것은 변경되었습니다.

새로운 기능의 시작을 용이하게하기 위해 7 장에 함수의 범주를 추가했습니다.
사용자.

버전 1.3.1의 새로운 기능 :



`xor`,`atendof`,`& amp;`,`||`,`^^`,`::`,`: -`와 같은 이진 연산자에 대한 중첩 된 호출에 문제가있었습니다. 따라서 중첩 된 구조체를 인쇄 할 때 오류가 발생하는 예쁜 프린터에서도 마찬가지입니다. 이 문제가 수정되었습니다.
`os.list`에 대한 4 가지 수정 사항 : 'r'옵션이 전달 된 경우 현재 작업 디렉토리가 호출 완료 후 실수로 변경되었습니다.
'r'이 마지막 인수로 전달되지 않은 경우, 함수는 오류를 발행합니다.
`null`은 현재 작업 디렉토리를 나타내는 첫 번째 인수로 받아 들여지지 않았습니다.
Windows 7에서 루트 디렉토리의 내용을 인쇄 할 수 없습니다. 즉, os.list ( 'c :')가 현재 작업 디렉토리의 내용을 반환했습니다.
문자열이 숫자가 아닌 숫자로 색인화 된 경우 "str [null]", Agena가 'null'을 반환했습니다. 이제 오류가 발생합니다.
library.agn이 발견되지 않으면 잘못된 경로가 경고에서 두 번 출력됩니다. 이것은 변경되었습니다.

버전 1.2의 새로운 기능 :

substring 연산자는 새롭게 디자인되었지만 이전 버전은 Agena 2.0까지 사용할 수 있습니다. 새 문자열은`str [왼쪽에서 오른쪽으로]`이고, 오래된 문자열은`str $ (왼쪽, 오른쪽)`입니다. 예 : before :`str : = 'string'; print (str $ (2, 3))`- & gt; 'tr'now :`str : = 'string'; print (str [2 to 3])`- & gt; 'tr'
위에서 언급 한 새로운 구문을 사용하여 테이블 배열과 시퀀스의 하위 목록을 결정할 수 있습니다 :``왼쪽에서 오른쪽으로``. 예 : 이제 :`a : = [10, 20, 30, 40]; print (a [2 to 3])`- & gt; [20, 30] 이제 :`a : = seq (10, 20, 30, 40); print (a [2 to 3])`- & gt; seq (20, 30)
이제`ops` 함수는 인덱스 위치의 시퀀스를 첫 번째 인수로 전달하여 반환 할 값을 지정할 수 있습니다. 연산 (seq (1, -1), 10, 20,
30).
새로운 함수`strings.include`는 문자 시퀀스를 문자열에 삽입합니다
주어진 위치에서.
다음 함수는 이제`fail`을 반환하는 대신 오류를 발생시킵니다.
실패의 경우 :`os.remove`,`os.move`,`os.mkdir`,`os.rmdir`,`os.chdir`입니다.

가비지 콜렉션과 관련된 집합과 시퀀스에 대해 다음과 같은 연산자가 개선되었습니다 :`insert` 문,`union`,`intersection`,`minus`,`unique`,`copy`,`pop / top` 및`pop / bottom` 명령문 및 할당 지정.
FRACTINT 컬러 맵 파일이 없으면`fractals.draw`의 오류 메시지가 개선되었습니다.
찾지 못했습니다.

1.1.0 버전의 새로운 기능 :

이 릴리스에는 새로운 기능과 정리 된 네임 스페이스가 있습니다.
Agena 1.0과의 호환성 :
일부 기능은 Agena에서 제거되었으며 일부 기능은 패키지 기능으로 변환되었습니다 (아래 참조). 그래도 사용하고 싶다면 Agena 1.0에 대한 이전 버전과의 호환성을 원한다면 readlib 'compat'을 명령 행에서 실행하거나 위의 명령문을 초기화 파일에 넣으십시오.
확장 된 기능 :
`pop / top`과`pop / bottom` 문과`bottom`과`top` 연산자는 이제 테이블 배열에도 적용될 수 있습니다.
`null` 또는 인수가없이 호출 될 때,`os.chdir`는 더 이상 에러를 출력하지 않고 현재 작업 디렉토리를 반환합니다. 따라서 이전의`os.curdir` C 함수는 Agena 언어로 작성된 함수로 대체되었습니다.
`os.list`는 새로운 'r'옵션이 주어지면 하위 폴더를 재귀 적으로 탐색합니다.
이제`join` 연산자는 선택적 구분 기호를 받아들이고 연결될 구조의 첫 번째 요소와 마지막 요소를 지정하는 옵션을 지원합니다.
`instr`은 이제 음의 위치를 ​​통과하여 문자열의 오른쪽 끝에서 검색 할 수 있습니다.테이블에 다른 테이블, 세트, ​​시퀀스 또는 쌍이 포함되어있는 경우 '복사'는 이러한 참조가 여러 번 발생하는 경우 올바르게 처리하는 방법을 알 수 있습니다. 포함 된 구조가 n 번 포함 된 경우 실제 사본이 하나 만들어지고 n-1 이 새로 생성 된 구조에 대한 참조가 삽입됩니다. 이전에는 독립 사본이 n 개 만들어졌습니다.
새로운`isnonposint` 함수는 주어진 숫자가 모두 정수이고 양수가 아닌지 검사합니다.
`io.close`는 하나의 호출로 여러 파일을 닫을 수 있습니다.
`with` 함수는`convert`,`fraction`,`zeroin`,`todecimal`,`lcm`,`gcd`,`ndigits`의`math` 패키지의 다음 프로 시저에 대한 짧은 이름을 지정하지 않았습니다. 이 문제가 해결되었습니다.
설명서에 언급 된`rwriteemode` 함수는 존재하지 않았습니다. 이제는 사용할 수 있지만`rmode`라고합니다.
다양한 기능의 오류 메시지가 개선되었습니다.
네임 스페이스 클렌징 : 이름이 변경되거나 이동 됨 함수 :
`register`와`loadclib` 기본 라이브러리 함수는`package` 라이브러리로 옮겨졌습니다.
이전의`rdelete`,`rget`,`rinit`,`rinit`,`rmode`,`rset`,`remember` 및`defaults` 기본 라이브러리 함수는 새로운`rtable` 패키지로 옮겨졌습니다.글로벌 _Env 테이블의 이름을 "environ"으로 변경했으며 이제는 환경에 액세스하는 절차도 포함되어 있습니다.
전 지구 적 homedir 및 infolevel 환경 변수는 각각 environ.homedir 및 environ.infolevel로 이름이 바뀌 었습니다.
다음의 이전 기본 라이브러리 함수는`environ` 패키지로 이동되었습니다 :`anames`,`attrib`,`gc`,`getfenv`,`globals`,`isselfref`,`pointer`,`setfenv`,`used `,`userinfo`,`__RESTART`,`__DOTTYPRINT`.
`mapm.xtoNumber`의 이름이`mapm.xtonumber`로 바뀌었고,`mapm.xtoString`의 이름이`mapm.xtostring`으로 바뀌 었습니다. 이전 버전과의 호환성을 위해 lib / compat.agn 파일 (첫 번째 readlib`mapm` 패키지를 실행 한 다음 compat.agn 파일을로드)을 실행하여 이전 함수 이름을 계속 사용할 수 있습니다.
사용되지 않는 함수 및 변수 :
`strings.seek`는 더 이상 사용되지 않습니다. 그 기능은`instr` 연산자에 추가되었습니다. `instr`의 패턴 일치 모드를 끄려면 검색의 시작을 세 번째 인수로 전달하고 네 번째 인수로`true`를 전달하십시오. `instr`은`strings.seek`보다 패턴 매칭 모드에서 약 40 % 빠릅니다. 이전 버전과의 호환성을 위해`strings.seek`가 lib / compat.agn 파일에 추가되었습니다.`concat` 기본 라이브러리 함수가 제거되었습니다. 대신에`join`을 사용하십시오. 이전 버전과의 호환성을 위해 이전의 기능은 lib / compat.agn 파일에 추가되었습니다.
`hasrtable`과`hasrotable` 함수는 삭제되었습니다. 이전 버전과의 호환성을 위해 lib / compat.agn 파일에 추가되었습니다.
`pcall` 함수는 더 이상 사용되지 않습니다. 대신에`protect`를 사용하십시오. 이전 버전과의 호환성을 위해 함수는 lib / compat.agn 파일에 추가되었습니다.
`maptoset` 함수는 더 이상 사용되지 않습니다. 이전 버전과의 호환성을 위해 함수는 lib / compat.agn 파일에 추가되었습니다.
os.alldirs 함수는 더 이상 사용되지 않습니다. `os.list '를 호출 할 때'dirs '와'r '옵션을 사용하십시오. 이전 버전과의 호환성을 위해 함수는 lib / compat.agn 파일에 추가되었습니다.
`os.isMac`,`os.isSolaris`,`os.isLinux`,`os.isWin`,`os.isOS2`,`os.isDOS`,`os.isHaiku`는 더 이상 사용되지 않습니다. 대신 environ.Os 및 environ.Cpu라는 새 환경 변수를 사용하십시오. 그러면 코드가 빨라집니다. 이전 버전과의 호환성을 위해 함수가 lib / compat.agn 파일에 추가되었습니다.

문서화되지 않은 _VERSION 변수가 삭제되었습니다. 이전 버전과의 호환성을 위해 lib / compat.agn 파일에 할당이 추가되었습니다.
기타 변경 사항 :
매뉴얼에 언급 된 C API 함수 lua_rawsetstringnumber가 존재하지 않습니다. 이것은 변경되었습니다.
파서에 대한 코드 최적화.
일부 패키지에서는 실수로 몇 개의 변수가 암시 적으로 전역 변수로 선언되었습니다. 이 문제가 수정되었습니다.
수정되고 갱신 된 초기화 샘플 파일.
AgenaEdit가 업데이트되었습니다.
언어 체계 파일이 업데이트되었습니다.
Linux 설치 프로그램에는 이제 xBase 패키지가 포함되어 있습니다.

버전 1.0.6의 새로운 기능 :


`toset`,`toseq`,`totable` 함수의`join`,`copy`,`filled` 연산자와`insert`,`delete`,`pop` 문과` for 루프.
시퀀스에서 Agena는 다음과 같은 일련의 이벤트에서 충돌했습니다 .1) delete 문이 실행되었습니다. 2) therafter 시퀀스가 ​​비어 있었고, 3) 새 요소가 다시 삽입되었습니다. 이 문제가 수정되었습니다. (내부적으로,`delete` 문은 더 이상 시퀀스의 크기를 더 이상 내부적으로 줄이지 않습니다.)
큰 끈으로 'concat`이 추락했습니다. 이 문제가 수정되었습니다.
512 바이트 이상의 문자열을 사용하면`join`과`replace`가 충돌 할 수 있습니다. 이 문제가 수정되었습니다. 두 사업자는 이전보다 훨씬 빨라졌습니다.
`math.isprime`가 & gt; 인수와 함께 잘못된 결과를 반환했습니다. 2 ^ 31 (매뉴얼에 막연하게 언급 됨). 이것은 인수 범위를 +/- 2 ^ 63까지의 값을 갖는 정수로 확장하여 수정되었습니다.
`math.nextprime`과`math.prevprime`은`math.isprime`과 같은 더 큰 인수를 가지고 같은 문제를 가지고있었습니다. 이것 또한 변경되었습니다. 인수 2를 사용하면`io.nextprime`은 3 대신 3을 잘못 리턴합니다. 이것은 수정되었습니다.

버전 1.0.5의 새로운 기능 :


`join`은 Agena를 깨뜨릴 수 있고 결과 문자열 인 경우 예기치 않게 동작합니다
512 바이트를 초과했습니다. 이것은 변경되었습니다.
이전에 오류가 발생한 후에`restart`가 호출 된 경우
Agena는 스택 손상으로 인해 드물게 추락했습니다. 이것은
결정된.
해시 부분에 정확하게 하나의 요소를 포함하는 새로 생성 된 테이블 인 'attrib`
할당 된 해시 슬롯 수에 대해 올바른 결과를 반환합니다 (0 대신 1).
`qsadd`와`sadd`의 에러 메시지를 수정했습니다.
`join`,`copy`,`filled` 연산자와`insert`의 오류 메시지가 개선되었습니다.
및`delete` 문을 사용합니다.
`read`,`save`,`fractals.draw`의 에러 처리가 개선되었습니다.
메이크 파일의 개선.
이제 버퍼 크기가 소스에서 표준화되었습니다.

버전 1.0.4의 새로운 기능 :


초기화 중 (Windows XP SP 3 및 OpenSolaris 134에서 일부 상황) 드문 충돌이보고되었으므로 이제 초기화 단계에서 가비지 수집이 해제됩니다. 이러한 드문 세그멘테이션 오류는 OpenSolaris에서 Agena 바이너리를 루트 디렉토리에두고 실행할 때 XP에서 로컬 관리자 권한으로 Agena 데스크탑 아이콘을 클릭 할 때 발생합니다.
Agena의 초기화 중 정보를 인쇄하기 위해 명령 줄 옵션에 -d 스위치를 도입했습니다.
`trim`,`upper`,`lower`,`os.curdir`,`strings.rseek`에 메모리를 내부적으로 할당 할 수 없다면 적절한 에러 핸들링을 도입했습니다.
C 함수 agenaL_initialise와 agenaL_setLibname 초기화와`io.write *`와`print`에서 메모리 누수 가능성을 제거하였습니다.

버전 1.0.3의 새로운 기능 :

새로운 함수`protect`는 보호 모드에서 프로 시저를 호출하고 가능한 오류를 포착하여 계산이 중단되지 않도록합니다. 에러가 발생하면 에러 문자열을 전역 변수`lasterror`로 설정합니다. `pcall`과 관련이 있지만 첫 번째 결과로 상태 코드를 반환하지 않습니다.
`attrib`는 빈 구조를 가진 정확한 결과를 반환합니다. 빈 구조체에서는 함수가 이전에 할당 된 해시 요소 중 하나를 잘못 계산했습니다.
이제 'attrib'는 새로운 'bytes'키와 함께 테이블, 세트 및 시퀀스가 ​​차지하는 바이트 수를 반환합니다. 반환되는 바이트 수는 그물에 가끔씩 모순되는 정보를 기반으로합니다.
결과 문자열이 512 바이트를 초과하면`replace`가 Agena를 추락 시켰습니다. 이것은 변경되었습니다.
`추측하다 '는'Assumption failed '가 반환됩니다. '가정이 실패했습니다.'
새 C API 함수 lua_setglobal2는 스택 맨 위의 값을 전역 이름으로 설정합니다. lua_setglobal과 반대로 값은 팝핑되지 않습니다.

lobject.h (테이블 구조)의 코드 정리 및 lapi.c (코드 매크로 활성화). Agena가 void가 아닌 lua_assert로 컴파일되는 경우 C API 함수 agn_deletertable에 대한 버그 수정. 스택 손상의 (약간의) 가능성을 방지하기 위해 초기화하는 동안 사용되는 savestate 함수의 반환 값으로 변경합니다.

버전 1.0.2의 새로운 기능 :

새로운`os.setenv` 프로시 저는 운영체제 수준에서 환경 변수를 설정합니다. 이 함수는 원래 Mark Edgar에 의해 작성되었습니다.
Windows에서,`os.getenv`는 환경 변수의 값을 얻기 위해 네이티브 Windows API 함수를 호출합니다. Windows 코드는 Mark Edgar에 의해 작성되었습니다.
새로운`os.environ` 함수는 테이블에 할당 된 모든 환경 변수를 반환합니다. 이 함수는 원래 Mark Edgar에 의해 작성되었습니다.
`io.open`은 성공적으로 열린 파일의 FILE 포인터, 이름, 모드를 새로운 테이블`io.openfiles`에 추가합니다. `io.close`는 파일을 성공적으로 닫을 수 있다면`io.openfiles`에서 엔트리를 삭제합니다.
인수없이 호출되었을 때, AgenaEdit에서 (키보드를 읽으려는) 인수없이 호출되면 'io.read`가 오류를 반환합니다.
AgenaEdit에서`io.anykey`와`io.getkey`가 호출되면 적절한 에러 메시지가 출력됩니다.
초기 초기화 하위 절차 중 하나가 스택 손상을 피하기 위해 변경되었습니다 (문제가 발생하지는 않았지만).
os.isMac ( 'ppc')는 이제 PowerPC 시스템에서 작동합니다.

입문서 및 참고서의 4 장 및 6 장이 개정되고 확장되었습니다. 색인이 추가되었고 많은 화장품이 완성되었습니다.
Windows 실행 파일에 올바른 버전 정보를 저장했습니다.

버전 1.0의 새로운 기능 :



친애하는 신사 숙녀 여러분,
거의 4 년 동안 개발 한 후에 루아 C 소스에서 파생 된 절차 적 프로그래밍 언어 인 Agena 1.0을 출판했습니다.
내 커뮤니티는 실제로 매우 작지만 일부 사용자는 유용하고 안정적이었습니다.
Agena를 검토하고 결과를 알려 주시면 매우 기쁩니다. 유용한 정보를 찾지 못하면 개인적으로 알려주고 문제를 해결할 수있는 기회를주십시오.

버전 0.34.1d의 새로운 기능 :



이 버전에는 업데이트 된 GUI 버전의 AgenaEdit가 포함되어 있습니다 (실행 파일 agenaedit 참조).

버전 0.34.1의 새로운 기능 :



구문 강조 및 기본 제공 런타임 엔진이 포함 된 AgenaEdit은 Agena 0.34.1과 함께 출시되었습니다.

버전 0.34.0의 새로운 기능 :


Agena 0.34.0을 사용하여 구문 강조 및 기본 제공 런타임 엔진이 포함 된 AgenaEdit가 출시되었습니다.

버전 0.33.2의 새로운 기능 :



xBase 파일 지원이 포함 된 Agena 0.33.2가 릴리스되었습니다.

버전 0.33.1의 새로운 기능 :



xBase 파일을 지원하는 Agena 0.33.1이 릴리스되었습니다.

버전 0.33.0의 새로운 기능 :


새로운`xbase` 패키지는 dBASE III 표준과 호환되는 xBase 파일을 읽고 쓸 수 있습니다.
`binio`와`ads` 패키지는 이제 최대 2 ^ 63 바이트의 파일을 처리 할 수 ​​있습니다. 최대 2 ^ 31 바이트 크기의 파일 만 처리 할 수 ​​있습니다.
새로운`io.lock`,`io.unlock`,`binio.lock`,`binio.unlock`,`ads.lock`와`ads.unlock` 함수는 파일을 다른 Agena에 의한 읽기 및 쓰기 접근으로부터 잠급니다
기능 또는 심지어 후자가 잠금 프로토콜을 사용하는 경우에 제공되는 다른 응용 프로그램도 포함됩니다.
baselib 함수`read`는 더 이상`with`로 겹쳐 쓸 수 없습니다.
새로운`package.checkClib`는 C 동적 라이브러리에 저장된 패키지가 초기화되었는지를 검사합니다. 그렇지 않은 경우, 화면에 경고가 리턴되고 빈 패키지 테이블이 작성됩니다. 그렇지 않으면 아무것도하지 않습니다.
Haiku 포트는 이제 동적 링크 라이브러리를 지원합니다.

버전 0.32.3의 새로운 기능 :



새롭고 조정 된 미적분 함수를 사용하는 Agena 0.32.3이 출시되었습니다.
Mac 사용자는 더 이상 종속성 라이브러리를 추가로 설치할 필요가 없습니다.
이제 Haiku 항구를 이용할 수 있습니다.

버전 0.31.5의 새로운 기능 :


이 버전에는 내장 그래픽, 임의 정밀도 수학 및 향상된 기능이 포함되어 있습니다.

버전 0.31.3의 새로운 기능 :

Solaris, Mac, Linux 및 Windows에서 도형을 쉽게 그릴 수있는 도형 패키지가 추가되었습니다.
솔라리스와 리눅스에서,`gdi.mouse`는 이제 눌린 마우스 버튼에 대한 표준 값을 반환합니다 (Mac 및 Windows 버전과 동일).
-v 옵션이 주어지면 이제 Agena는 초기화 파일을 더 이상 실행하지 않습니다.
UNIX 또는 Mac에서는 초기화 파일의 파일 이름이 / usr / agena / lib 또는 개인 폴더에 있는지 여부에 관계없이 항상 .agenainit이어야합니다.
Intel CPU 용 바이너리 Mac 배포는 이전 릴리스보다 약 30 % 빨라졌습니다.
`io.getkey` 기능은 이제 Mac OS X 버전에서 사용할 수 있습니다.
Mac에서`os.system`은 이제 운영 체제와 CPU 유형에 대한 완전한 정보를 반환합니다. Darwin 커널에 대한 정보를 반환하며 결과 테이블의 첫 번째 항목은 이제`MacOSX` 대신에`Darwin`입니다.
`os.memstate`,`os.freemem`과`os.beep`는 이제 Mac OS X를 지원합니다.
`io.anykey`는 모든 플랫폼에서 사용할 수 있지만 DOS와 Mac에서는`fail`을 반환합니다. 따라서`gdi.draw`는`mouse` 옵션을 사용할 때 Mac에서 더 이상 오류를 던지지 않습니다.`os.listcore`는 파일, 디렉토리 또는 링크 이름만을 반환하도록 확장되었습니다. '.' 그리고 '..'는 결코 반환되지 않습니다.
`os.list`는 옵션을 인식하지 못하고 대신 빈리스트를 반환했습니다. 이 문제가 수정되었습니다. 또한 옵션을 결합 할 수 있습니다. '.' 및 '..'가 첫 번째 인수로 올바르게 인식됩니다.
이제`os.curdir`는 슬래시로 결정된 경로의 백 슬래시를 자동으로 대체합니다.
`os.fstat`와`ads.attrib`는 2038 년 1 월 19 일 화요일을 파일의 날짜가 초과하면 Agena를 추락 시켰습니다. 이것은 날짜 키 (os.fstat)를위한 빈 테이블을 반환하거나, 0/01 00:00:00, (ads.attrib).
`utils.calendar`는 인수가 무효이거나 부정적이거나 너무 큰 경우 Agena를 추락 시켰습니다. 이것은 변경되었습니다. 또한 날짜가 2038 년 1 월 19 일 화요일을 넘으면 올바른 날짜가 반환됩니다.
새로운 함수`os.screensize`와`os.mousebuttons`는 현재 화면 해상도와 연결된 마우스의 버튼 수를 반환합니다 (Windows 만 해당).
agena.ini.sample 파일은 UNIX / Mac 배포판에서 .agenainit.sample으로 이름이 바뀌 었습니다.

솔라리스를위한 새로운 메이크 파일은 이제 Michael C. Ring이 작성한 원래 MAPM 소스를 완전히 컴파일하기 위해 mapm Agena 바인딩과 함께 제공됩니다.

버전 0.31.2의 새로운 기능 :

arbitray 수학 정밀도를위한 mapm 패키지는 이제 Agena DOS 버전에서도 사용할 수 있습니다.
mapm 패키지가 사용하는 자릿수는 DOS 또는 OS / 2 Warp 용 Agena를 시작할 때 17 자리로 초기화됩니다. 이전에는 기본값이 1 자리였습니다.
MAPM 바인딩을위한 C 코드가 표준화되었습니다. 이전에는 DOS 및 OS / 2 소스 파일이 UNIX 및 Windows 용 소스 파일과 다릅니다.
Windows 및 Mac OS X 설치 프로그램의 기능이 약간 향상되었습니다.
Mac에서는 설명서가 / Users / Share / Agena 대신 Library / Documentation / Agena에서 사용할 수 있습니다.
sin, cos, arcsin, arccos 및 arctan 함수는 실수 대신 0을 -0을 허수 단위로 반환하여 이러한 함수의 반환이 ln과 같은 다른 함수 (예 : 허수의 부호)에 적용되면 잘못된 결과를 가져 왔습니다. 이러한 다른 기능의 결과의 단위가 잘못되었습니다. sin, cos, arcsin, arccos 및 arctan이 반환 될 때 허수 단위 인 -0을 0으로 설정하면이 문제가 해결되었습니다.
arcsin 및 arccos 함수는 인수 z에 대해 잘못된 결과를 반환했습니다. abs (real ((z))) & lt; 1.이 문제가 수정되었습니다.
OS / 2에서 대부분의 복잡한 산술 함수는 정의되지 않은 값을 반환했습니다. 이 문제가 수정되었습니다.

OS / 2와 DOS에서는 복잡한 도메인에서 arccos와 arcsin 연산자에 문제가있어 특정 상황에서 정의되지 않은 값을 반환한다는 점에 유의하십시오.
Windows, i386 Solaris 10 및 Linux 버전은 이제 복잡한 산술 연산의 오류 수를 크게 줄인 GCC 4.4.x (xmath86.h 제외)로 컴파일되었습니다. 사실, 정교한 복잡한 수학 테스트 케이스는 제로 에러를 반환합니다. Sparc 버전은 Sun Sparc 용 GCC 4.3.3으로 컴파일되었으며 0.31.1 릴리스보다 복잡한 수 산술에서 버그가 적습니다.
다음 include 파일의 이름을 변경했습니다. config.h - & gt; agncfg.h, chelpers.h - & gt; agnhlps.h, agnxlib.h - & gt; agnxlib.h.
이제 Mac에서는 gdi.mouse가 눌러 진 마우스 버튼의 표준 값을 반환합니다.

버전 0.31.1의 새로운 기능 :



Agena 0.31에는 점, 선, 원, 타원, 직사각형, 호를 그릴 수있는 모든 기본 도구가 포함되어 있습니다. 등, 이미지 크기 및 색상을 제어 할 수 있습니다.

버전 0.31.0의 새로운 기능 :



버그 수정이 포함 된 언어 일관성 릴리스가 릴리스되었습니다. 변경된 내용은 변경 로그를 참조하십시오.

버전 0.30.4의 새로운 기능 :

Agena는 이제 내장 그래픽 기능을 제공합니다. 이렇게하면 Solaris, Linux 및 Windows의 X11 또는 Win32 창이나 GIF, PNG, JPEG, FIG 또는 PostScript 파일에 그래프, 이미지 등을 플롯 할 수 있습니다. Agena는 Ljubomir Milanovic과 Horst Wagner가 작성한 그래픽 라이브러리 g2와 결합하여 이러한 새로운 기능을 제공합니다.
Agena 0.30에는 점, 선, 원, 타원, 직사각형, 호를 그릴 수있는 모든 기본 도구가 포함되어 있습니다. 등, 이미지 크기 및 색상을 제어 할 수 있습니다.
& gt; 'gdi'와 함께;
gdi 패키지 v0.1.4 2009 년 12 월 20 일 기준
잉크, 마지막 액세스, 라인, 개행, 뉴 포인트, 오픈, 플롯, 플롯, 포인트, 직사각형, 직사각형 채움, 리셋, 직사각형, 직사각형, 직사각형, resetpalette, setinfo, setoptions, 구조체, 텍스트, 두께, 삼각형, 삼각형 채우기, 사용법

plotfn 함수는 사용자 정의 색상으로 플롯 된 축과 함께 하나의 실수로 하나 이상의 함수 그래프를 그립니다. y 축 범위도 지정할 수 있습니다. 그렇지 않으면 Agena가 최상의 설정을 결정합니다. setoptions 함수로 설정할 수 있고 세션에서 생성 된 모든 그래프에 적용 할 수있는 다양한 옵션이 있습니다 : 창 해상도, 색상 맵, 선 두께 및 배경색. 물론 사용자는 특정 플롯에 대한 일부 또는 모든 옵션을 무시할 수 있습니다. 특이점은 적절하게 취급됩니다.

버전 0.30.3의 새로운 기능 :



그래픽이 내장 된 Agena 0.30.3, 임의 정밀도 수학 및 향상된 기능이 릴리스되었습니다.

버전 0.30.2의 새로운 기능 :

Agena는 이제 내장 그래픽 기능을 제공합니다. 이렇게하면 Solaris, Linux 및 Windows의 X11 또는 Win32 창이나 GIF, PNG, JPEG, FIG 또는 PostScript 파일에 그래프, 이미지 등을 플롯 할 수 있습니다. Agena는 Ljubomir Milanovic과 Horst Wagner가 작성한 그래픽 라이브러리 g2와 결합하여 이러한 새로운 기능을 제공합니다.
Agena 0.30에는 점, 선, 원, 타원, 직사각형, 호를 그릴 수있는 모든 기본 도구가 포함되어 있습니다. 등, 이미지 크기 및 색상을 제어 할 수 있습니다.
& gt; 'gdi'와 함께;
gdi 패키지 v0.1.4 2009 년 12 월 20 일 기준
잉크, 마지막 액세스, 라인, 개행, 뉴 포인트, 오픈, 플롯, 플롯, 포인트, 직사각형, 직사각형 채움, 리셋, 직사각형, 직사각형, 직사각형, resetpalette, setinfo, setoptions, 구조체, 텍스트, 두께, 삼각형, 삼각형 채우기, 사용법

plotfn 함수는 사용자 정의 색상으로 플롯 된 축과 함께 하나의 실수로 하나 이상의 함수 그래프를 그립니다. y 축 범위도 지정할 수 있습니다. 그렇지 않으면 Agena가 최상의 설정을 결정합니다. setoptions 함수로 설정할 수 있고 세션에서 생성 된 모든 그래프에 적용 할 수있는 다양한 옵션이 있습니다 : 창 해상도, 색상 맵, 선 두께 및 배경색. 물론 사용자는 특정 플롯에 대한 일부 또는 모든 옵션을 무시할 수 있습니다. 특이점은 적절하게 취급됩니다.

버전 0.29.0의 새로운 기능 :

Agena는 이제 내장 그래픽 기능을 제공합니다. 이렇게하면 Ljubomir Milanovic이 작성한 g2 그래픽 라이브러리에 대한 바인딩을 포함하여 Windows, Linux, Windows의 GIF, PNG, JPEG, FIG 또는 PostScript 파일에 그래프, 이미지 등을 플롯 할 수 있습니다. 호르스트 바그너.
Agena 0.29.0은 점, 선, 원, 타원, 직사각형, 호를 그릴 수있는 모든 기본 도구를 갖추고 있습니다. 색을 관리하고 이미지 파일을 작성하거나 X11 또는 Win32 창을 열 수 있습니다.
다가오는 업데이트 중 하나에서 gdi.plotfn 및 gdi.plot 기능을 갖춘 고급 사용자 인터페이스를 통해 단 변수 함수 및 점 집합을 즉석에서 플롯 할 수 있습니다. 이 두 기능은 Agena 0.29.0에 이미 포함되어 있지만 아직 베타 버전입니다. 다음은 미리보기입니다.
& gt; 'gdi'와 함께;
gdi 패키지 v0.1.0 2009 년 11 월 24 일 기준
호, 배경, 원, clearpalette, 닫기, 대시, 타원, filledArc, filledCircle, filledEllipse, filledRectangle,
ink, lastaccessed, line, open, plot, plotfn, point, rectangle, reset,
resetpalette, setinfo, setoptions, 구조체, 텍스트, 두께, 삼각형, useink

plotfn 함수는 하나의 실수로 함수의 그래프를 그리며, 선택적으로 사용자 정의 색상으로 플롯 된 축과 함께 표시합니다. y 축의 범위도 지정할 수 있습니다. 그렇지 않으면 Agena가 최상의 설정을 결정하려고 시도합니다. setoptions 함수로 설정할 수 있고 세션에서 생성 된 모든 그래프에 적용 할 수있는 다양한 옵션이 있습니다 : 창 해상도, 색상 맵, 선 두께 및 배경색. 물론 사용자는 특정 플롯에 대한 일부 또는 모든 옵션을 무시할 수 있습니다. 특이점은 적절하게 취급됩니다.
plotfn (sin (x) * x, -5, 5, color ~ 'blue', axiscolour ~ 'gray', res ~ 640 : 480);

버전 0.27.2의 새로운 기능 :

새로운 toSet baselib 함수는 문자열을 문자 집합으로 변환하고 표 또는 시퀀스를 집합으로 변환합니다.
io.readlines는 2048 자 이상의 행을 처리하도록 패치되었습니다. 이 함수는 내부 메모리 할당이 실패 할 경우에도 오류를 발행합니다. 내부 버퍼 크기가 2048 바이트에서 512 바이트로 감소했습니다. agnconf.h 파일의 AGN_IOREADLINES_MAXLINESIZE에 다른 값을 할당하여이 값을 변경할 수 있습니다.
io.readlines는 이제 파일 핸들도 허용합니다. 파일 이름 대신 파일 핸들을 사용할 때는 io.readlines를 사용한 후에 수동으로 파일을 닫아야합니다.
파일이 없으면 io.readlines는 더 이상 빈 테이블을 반환하지 않습니다. 대신 오류를 발생시킵니다.
toSeq은 문자열, 세트 또는 테이블을받지 못하면 실패 대신 오류를 반환합니다.
사용 된 baselib 함수가 확장되어 메모리 사용량을 바이트, 킬로바이트, 및 기가 바이트 단위로 반환 할 수 있습니다. 이제는 C 함수입니다.
문서화되지 않은 gcinfo 함수가 삭제되었습니다. 그것의 기능은 used에 의해 취해졌다.
새로운 C API 함수 agn_usedbytes는 시스템에서 사용하는 바이트 수를 반환합니다.
toTable의 잘못된 오류 메시지가 수정되었습니다.

C AOI는`agn_isioforcerror` 함수를`agn_isioforceerror` 함수로 변경했습니다.

버전 0.27.0의 새로운 기능 :

오류 함수 math.erf 및 상보 오류 함수 math.erfc가 추가되었습니다.
첫 번째 종류 인 math.besselj의 Bessel 함수와 두 번째 종류의 math.bessely의 Bessel 함수를 추가했습니다. 순서는 첫 번째 인수로, 두 번째 인수로 인수가 지정됩니다.
새로운 환경 변수 _EnvIoForceError가 null이 아닌 값 (기본값)으로 설정되면 io.open, io.readlines 및 다양한 binio 함수는 정상적으로 반환되는 대신 오류를 반환합니다.
binio.readbytes와 binio.readchar은 읽히는 파일이 존재하지 않는 경우 실패 대신 빈 시퀀스를 반환했습니다. 이것은 변경되었으므로 실패하거나 오류가 반환됩니다.
arcsin과 arccos는 이제 연산자이므로 40 % 정도 더 빠릅니다.
true, false, fail 및 null로 평가되거나 true 인 값에 부울 exclusive-OR을 수행하는 xor 연산자가 추가되었습니다.
단어가 주어진 문구에서 끝나고 그 위치를 숫자로 반환하는지 검사하는 atendof 연산자가 추가되었습니다. 문자열의 길이가 같거나 적어도 하나가 빈 문자열이거나 단어가 주어진 패턴으로 끝나지 않으면 연산자는 null을 반환합니다.이제 hasrtable은 읽기 / 쓰기 기억 테이블 (return 문에 의해 업데이트 됨)이있는 경우에만 true를 반환합니다.
새 함수 hasrotable은 함수에 읽기 전용 기억 테이블 (return 문으로 업데이트 할 수 없음)이 있는지 여부를 확인하고 true 또는 false를 반환합니다.
새로운 연산자 인 gethigh와 getlow는 숫자에서 상위 바이트와 하위 바이트를 검색합니다 (예 : C double).
새로운 연산자 인 sethigh와 setlow는 상위 바이트와 하위 바이트를 숫자 (즉, C double)로 설정합니다.
새로운 연산자 band, bor, bxor 및 bnot은 비트에 대해 및 / 또는 배타적 또는 보완 연산을 수행합니다.
새로운`kernel` 함수는 Agena 커널의 설정을 구성합니다. 현재 비트 연산자가 내부적으로 작동하는 방식 (부호있는 또는 부호없는 정수 사용법)과 숫자 인쇄 방법을 변경할 수 있습니다.
실수 x를 사용하면 x & lt; 0이면 math.argument가 0 대신 Pi를 반환합니다. 0.
기본 ANSI C 라이브러리 함수의 버그 때문에 arcsin 및 arccos는 UNIX 시스템에서 허수 부 분이 0 인 경우 복소수로 잘못된 결과를 생성했습니다. 이 문제가 수정되었습니다.
math.isPrime은 숫자 2와 false를보고했습니다.이 문제가 해결되었습니다.매뉴얼과 반대로, abs는 2를 실패로 돌려 보냈다. 이제 문서화 된대로 -1을 반환합니다.
비트 패키지가 제거되었습니다.
_EnvIoForceError가 null이 아닌 값으로 설정되었는지 확인하는 새로운 C API 함수 agn_isioforcerror를 추가했습니다.
새로운 C API 함수 agn_setbitwise는 연산자 band, bor, bnot, bxor 및 shift가 내부적으로 부호가 있거나 부호없는 정수로 계산되는지 여부를 결정합니다.
새로운 C API 함수 agn_getbitwise는 agn_setbitwise로 설정된 모드를 반환합니다.
새로운 C API 함수 agn_setdigits는 숫자 인쇄에 사용되는 자릿수를 설정합니다.
새로운 C API 함수 인 agn_getdigits는 숫자 인쇄에 사용되는 자릿수를 결정합니다.
내부 : luaP_opnames에서 더 이상 사용되지 않는 "REPL"항목을 제거했습니다.
Windows Installer는 이전에 설치된 Agena 버전을 확인하고, 다른 인스턴스가 이미 실행중인 경우 설치 프로그램이 시작되지 않도록 차단하고 다른 몇 가지 개선 사항을 추가하여 향상되었습니다.

요구 사항 :



Ncurses
GNU Readline

유사한 소프트웨어

Scala
Scala

17 Feb 15

ccache
ccache

20 Feb 15

Magic C++
Magic C++

3 Jun 15

Voodoo Compiler
Voodoo Compiler

20 Feb 15

코멘트 Agena

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!