단순한 일회성 풀그림을 제외하고는, 필요할 때마다 모든 함수를 정의하면 낭비가 큽니다. 대신, 함수를 기록철에 저장하여 두어 고치기도 편하고, 나중에 다시 쓰기도 편하기를 많이들 원합니다.
옥타브는 함수를 사용하기 전에 함수 정의를 기록철에서 불러올 것을 요구하지 않습니다. 그저 옥타브가 찾을 수 있는 곳에 함수 정의를 두기만 하면 됩니다.
옥타브가 정의하지 않은 색인자를 만나면, 먼저 이미 번역되어 현재 상징표에 변수와 함수로 기록되어 있는지 살핍니다. 상징표에서 정의를 못 찾으면, 자료방 목록(경로)에서 확장자가 .m이면서 기본 이름이 정의하지 않은 식별자와 같은 기록철을 찾습니다.5 이름이 일치하는 기록철을 찾으면, 기록철의 내용을 읽습니다. 정의가 단일 함수이면, 번역하여 실행합니다. 기록철 하나에 여러 함수를 정의하는 더 많은 정보는 대본 기록철을 참고하십시오.
함수 기록철로 함수를 정의하면, 기록철을 읽기 위한 기록철의 전체 이름과 날짜 도장을 저장합니다. 기록철의 날짜 도장이 달라지면, 기록철을 다시 적재합니다. 옥타브가 대화형으로 실행 중이면, 보통 날짜 도장 확인을 대부분 명령 처리기를 출력할 때마다 합니다. 또한, 현재 작업 자료방이 바뀌면 새로 함수 정의를 찾습니다.
날짜 도장을 확인하여, 옥타브 실행 중에도 함수 정의를 바꾼 후, 옥타브 작업을 다시 시작할 필요 없이 자동으로 새 함수 정의를 사용합니다.
잘 바뀌지 않는 함수의 날짜 도장을 굳이 확인하여 성능이 저하되는 것을 막기 위하여, 자료방 나무꼴 octave-home/share/octave/version/m에 있는 함수는 바꾸지 않는다고 가정하여, 이들 함수가 정의되어 있는 기록철의 날짜 도장을 확인하지 않습니다. 상당히 괜찮은 가정이고, 옥타브와 함께 배포된 함수 기록철을 처리하는데 눈에 띄는 성능 향상이 있습니다.
옥타브 실행 중에 자체 제작 함수가 바뀔 일이 없으면,
ignore_function_time_stamp ("all")
을 호출하여 모든 함수 기록철의 날짜 도장
확인을 건너뛰어 성능을 향상시킬 수 있습니다. 이 함수에
"system"
를 전달하면, 기본 방식으로 돌아갑니다.
이름이 있는 함수를 고치거나, 편집기 설정을 바꿉니다.
edit
에 기록철 이름이나 함수 이름을 매개변수로 주면, 매개변수를 EDITOR
에 지정한
글월 편집기로 엽니다.
HOME
(아래 있음)에 복사하고 나서 편집합니다. 기록철을 못 찾으면, 확장자가 ".m"
로
끝나는 m 기록철 계열을 찾습니다. 여전히 기록철을 못 찾으면, 이름을 포함하되 "@"
로 시작하는 변종과,
"@"
로 시작하고 ".m"
으로 끝나는 변종 기록철을 찾습니다.HOME
에 현재 정의된 해당
함수를 담은 m 기록철을 만듭니다.이름.cc
로 지정하면, 경로에서
이름.cc
를 찾고 수정하며, 못 찾으면 현재 자료방에 새 .cc 기록철을
만듭니다. 이름이 m 기록철이나 해석기에서 정의한 함수이면, 해당 함수의 글월을 지정한 .cc 기록철 안에 주석으로
끼워넣습니다.HOME
에 복사한 후에 편집합니다.경고: 새 정의 사용하려면 이름을 지워야 할 수도 있습니다. .cc 기록철을 수정한 후, 새 정의를 사용하려면
mkoctfile 이름.cc
을 실행하여야 합니다.
edit
에 기록란과 값 변수를 주어 호출하면, 제어 기록란
기록란에 딸린 값을 값으로 설정합니다.
출력 매개변수를 요청하고, 첫 번째 입력 매개변수가
get
이면, 제어 기록란
기록란의 값을 반환합니다. 제어 기록란이 없으면, 모든 기록란과 값을 담은 구조체를 반환합니다. 그러므로 edit ("get",
"all")
가 전체 제어 구조체를 반환합니다.
아래 제어 기록란을 사용합니다.
사용자 울안 m 기록철의 위치 입니다. 사용자 경로로 설정합니다. 기본값은 ~/octave입니다.
"## Author:" 옆에 넣을 이름입니다. 새 함수의 기록란입니다. 기본적으로 비밀번호 자료기지의 gecos
기록란에서 가져옵니다.
author 기록란의 이름 옆에 넣을 전자 우편 주소 목록입니다. 기본적으로 <$LOGNAME@$HOSTNAME>
에서
가져오며, $HOSTNAME
가 정의되지 않았으면, uname -n
를 사용합니다. 대신 사용하고
싶은 주소가 있을 것입니다. 사용자@주인
꼴을 사용하십시오.
그누 일반 공중 사용 허가서(기본)
홍보 조항을 뺀 버클리 무른모 배포(BSD)의 허가서입니다.
자유 이용 저작물입니다.
사용자 정의 저작권과 허가서입니다.
‘pd’로 지정하지 않는 한, 저작권 문구에 "Copyright (C) YYYY Author"를 붙입니다.
이 값이 편집기를 비동기로 시작할지(편집기를 뒷면에서 시작하고, 옥타브는 자기 갈 길 갑니다.) 동기로 시작할지(편집기가 끝날
때까지 옥타브가 기다립니다.) 결정합니다. "sync"
로 설정하면 동기식으로 시작합니다. 기본값은 "async"
입니다.(체계
참고)
기록철의 수정 가능 여부에 상관 없이 기록철을 제 위치에서 편집할지 결정합니다. 기본값은 false
입니다.
"fullpath"
)"fullpathext"
)현재 실행한 기록철의 이름을 반환합니다.
현재 실행한 대본이나 함수의 기본 이름을 확장자 없이 반환합니다. 명령줄 등 m 기록철 밖에서 호출하면, 빈 문자열을 반환합니다.
매개변수 "fullpath"
를 주면, 자료방 경로도 기록철 이름에 붙이되 확장자 없이
반환합니다.
매개변수 "fullpathext"
를 주면, 자료방 경로도 기록철 이름에 붙이고 확장자도 붙여
반환합니다.
함수 기록철에 정의된 함수를 사용할 때마다 기록철의 날짜 도장을 확인할지 결정하는 내부 변수를 조회 또는 설정합니다.
내부 변수가 "system"
이면,
octave-home/lib/version의 하위 자료방의 내용이 마지막 번역시와
달라도 자동으로 번역하지 않으나, 검색 경로에 있는 다른 함수는 바뀌면 자동으로 번역합니다.
내부 변수가 "all"
이면, 함수 정의를 clear
으로 지우지 않는 이상
어떤 함수 기록철도 다시 번역하지 않습니다.
내부 변수가 "none"
이면, 함수를 정의한 기록철을 다시 번역하여야 하는지 날짜 도장을 매번
검사합니다.
• 적제 경로 조작: | ||
• Subfunctions: | ||
• Private Functions: | ||
• Nested Functions: | ||
• Overloading and Autoloading: | ||
• Function Locking: | ||
• Function Precedence: |