· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
yabasic

Manual of Yabasic

yabasic의 웹사이트는 http://www.yabasic.de 입니다.

(참고로, 메뉴얼의 위치는 http://www.yabasic.de/yabasic.htm 입니다.)

Contents

1. Manual of Yabasic
2. 소개
2.1. 이 문서에 대하여
2.2. yabasic에 대하여
3. Windows에서 실행되는 yabasic 프로그램
3.1. yabasic 시작하기
3.2. 옵션
3.3. context menu
4. Unix에서 실행되는 yabasic 프로그램
4.1. yabasic 시작하기
4.2. 옵션
4.3. defaults 설정하기
5. 주제에 의해 설명된 yabasic의 몇 가지 특징들
5.1. print, input과 그외의 것들
5.2. 컨트롤 구문 ; loops, if 그리고 switch
5.3. Drawing 과 Painting
5.4. 파일에 쓰기부터 읽기까지
5.5. 서브루틴과 라이브러리
5.6. 문자열 처리
5.7. 계산
5.8. 데이터
5.9. 다른 흥미로운 명령어들
6. 주제에 의해 목록화된 모든 명령어와 함수들
6.1. 숫자 처리와 변환
6.1.1. abs ()
6.1.2. acos ()
6.1.3. and()
6.1.4. asin()
6.1.5. atan()
6.1.6. bin$()
6.1.7. cos()
6.1.8. dec()
6.1.9. eor()
6.1.10. euler
6.1.11. exp()
6.1.12. frac()
6.1.13. int()
6.1.14. log()
6.1.15. max()
6.1.16. min()
6.1.17. mod()
6.1.18. or()
6.1.19. pi
6.1.20. ran()
6.1.21. sig()
6.1.22. sin()
6.1.23. sqr()
6.1.24. sqrt()
6.1.25. tan()
6.1.26. xor()
6.1.27. **or^
6.2. 조건과 조절 구문
6.2.1. and
6.2.2. break
6.2.3. case
6.2.4. continue
6.2.5. default
6.2.6. do
6.2.7. else
6.2.8. elsif
6.2.9. false
6.2.10. fi
6.2.11. for
6.2.12. gosub
6.2.13. goto
6.2.14. if
6.2.15. label
6.2.16. loop
6.2.17. next
6.2.18. not
6.2.19. on gosub
6.2.20. on goto
6.2.21. on interrupt
6.2.22. logical or
6.2.23. pause
6.2.24. repeat
6.2.25. return
6.2.26. sleep
6.2.27. switch
6.2.28. then
6.2.29. true
6.2.30. until
6.2.31. wait
6.2.32. wend
6.2.33. while
6.2.34. .
6.3. 자료 관리와 처리
6.3.1. arraydim()
6.3.2. arraysize()
6.3.3. data
6.3.4. dim
6.3.5. read
6.3.6. redim
6.3.7. restore
6.4. 문자열 처리
6.4.1. asc()
6.4.2. chr$()
6.4.3. glob()
6.4.4. hex$()
6.4.5. instr()
6.4.6. left$()
6.4.7. len()
6.4.8. lower$()
6.4.9. ltrim$()
6.4.10. mid$()
6.4.11. right$()
6.4.12. split()
6.4.13. str$()
6.4.14. token()
6.4.15. trim$()
6.4.16. upper$()
6.4.17. val()
6.5. 파일 운영과 출력하기
6.5.1. at()
6.5.2. beep
6.5.3. bell
6.5.4. clear screen
6.5.5. close
6.5.6. close printer
6.5.7. print color
6.5.8. print colour
6.5.9. eof
6.5.10. getscreen$()
6.5.11. inkey$
6.5.12. input
6.5.13. line input
6.5.14. open
6.5.15. open printer
6.5.16. print
6.5.17. putscreen
6.5.18. reverse
6.5.18.1. screen
6.5.19. seek()
6.5.20. tell
6.5.21. using
6.5.22. '#'
6.5.23. @
6.5.24. ;
6.6. 서브루틴과 라이브러리
6.6.1. end sub
6.6.2. export
6.6.3. import
6.6.4. local
6.6.5. numparams
6.6.6. return
6.6.7. static
6.6.8. step
6.6.9. sub
6.7. 다른 명령어들
6.7.1. bind()
6.7.2. compile
6.7.3. date$
6.7.4. doc
6.7.5. docu$
6.7.6. error
6.7.7. execute$()
6.7.8. execute()
6.7.9. exit
6.7.10. pause
6.7.11. peek
6.7.12. peek$
6.7.13. poke
6.7.14. rem
6.7.15. sleep
6.7.16. system$()
6.7.17. system()
6.7.18. time$
6.7.19. to
6.7.20. wait
6.7.21. //
6.7.22. :
6.8. 그래픽과 출력
6.8.1. backcolor
7. 대화
8. FAQ
9. yabasic에 관한 권한
10. 게시판

2. 소개

2.1. 이 문서에 대하여

이 문서는 베이직 언어 그 자체 뿐만 아니라 UNIX에서 yabasic 또는 윈도우에서 yabasic.exe으로 실행되는 yabasic 인터프리터에 대해 설명합니다.

이 문서의 내용은 yabasic의 2.760 버전을 기준으로 설명되어 있습니다. 따라서 yabasic에 대한 최신 소식이나 FAQ를 포함하지 않습니다. 내용이 자주 바뀔 수 있으므로 최신 내용을 보려면 [http]http://www.yabasic.de을 방문하시기 바랍니다.

Basic이 프로그래밍을 처음으로 시작하는 프로그래머들을 위한 언어로서 유명하지만, 이 문서에서는 베이직 언어에 대해 자세히 소개하지 않습니다. 이 문서를 통하여 독자가 컴퓨터 프로그램을 쓰고 시작하는 최초의 경험을 가지게 될 것입니다.

2.2. yabasic에 대하여

yabasic은 전통적인 basic 인터프리터입니다. yabasic에서는 goto, gosub, line numbers, read, data 혹은 '$'로 끝나는 문자 변수 같은 일반적인 basic 문법의 대부분이 사용됩니다. 그러나 (objects가 아닌) subroutine과 library같은 조금 더 발전된 프로그래밍 구문도 실행할 수 있습니다. yabasic은 Unix와 Windows에서 똑같이 작동합니다.

yabasic을 사용하면 빠르고 쉽게 결과를 얻을 수 있습니다. 그러므로 단순한 명령들은 그래픽 창을 열어 그 그래픽들을 출력하거나 콘솔 화면으로부터 키보드나 마우스 정보를 얻어 제공되어집니다.

다음 예제 코드는 창을 열고 원을 그립니다.
open window 100,100
open printer
circle 50,50,40
text 10,50,"Press any key to get a printout"
clear screen 
inkey$
close printer
close window

이 예제는 많은 다른 프로그래밍 언어들보다 더 적은 줄 수를 갖습니다. 그러나 결국 yabasic은 C++ 이나 Java같은 더 앞서고 현대적인 프로그래밍 언어들보다 많이 부족합니다. 하지만 yabsic을 사용함으로써 더 빠르고 쉽게 결과를 보여줄 수 있습니다.

3. Windows에서 실행되는 yabasic 프로그램

3.1. yabasic 시작하기

yabasic을 시작하는 방법은 세 가지가 있습니다.

  1. 바탕 화면에서 마우스 오른쪽 버튼을 클릭하여 새로 만들기 - yabasic을 선택하여 새로운 아이콘을 만듭니다. 만약 당신이 이 아이콘 위에서 마우스 오른쪽을 클릭한다면 세부메뉴가 나타날 것입니다. ;연결 프로그램을 선택합니다.

  2. 간단히 당신이 좋아하는 편집기로 .yab으로 끝나는 파일을 만들면 됩니다.

  3. 시작 메뉴에서 yabasic을 선택하여 콘솔 창을 엽니다.실행된 프로그램에서는 키보드로 코드를 입력할 수 있습니다. 엔터 키를 두 번 입력하면, yabasic은 당신의 프로그램을 실행 할 것입니다. (주의: 여기서 입력한 내용은 보존되지 않습니다.)

3.2. 옵션

Windows용 yabasic은 대부분 아이콘을 더블 클릭하는 것으로 실행되므로, 명령행 옵션을 쓰기 어렵습니다. 그러나 레지스트리의 적절한 곳에 옵션을 넣을 수 있습니다.

아래 모든 옵션들은 짧은 명령어가 두 가지 의미로 해석되지 않는 한, 짧은 형태로 사용할 수 있습니다. 예를 들어, - excute 대신에 - e를 쓸 수 있습니다.

- help 혹은 - ?
  
   도움말 메세지를 출력합니다.

- version 

   yabasic의 버전을 출력합니다. 

- geometry +X-Position+Y-Position</code>

   그래픽 창의 위치를 설정합니다, 다시 말하면 open window (물론, 창의 크기는 open window 명령 안에 명시
   됩니다.) 화면의 왼쪽 테두리에서 오른쪽으로 20 pixels 가고 위쪽 테두리에서 아래로 10 pixels 에 그래픽
   창을 배치하라는 한 예는 - geometry +20+10 입니다. 이 값은 일단 yabasic이 시작되면 변할 수 없습니다.

- font NAME-OF-FONT 

   그래픽 폰트로 사용될 폰트의 이름은 decorative, dontcare, modern, roman, script, swiss 어떤것도 될
   수 있습니다. 당신은 이 폰트이름들 중에 어떤 것에도 (pixels로 측정된) 폰트크기를 첨가 할 수 있습니
   다. ; 예를 들어 - font swiss30은 30 pixels의 크기를 가진 swiss 폰트를 선택합니다.

- bind NAME-OF-STANDALONE-PROGRAM

  다시 말하면 커맨드라인상에 명시된 프로그램으로부터 (NAME-OF-STANDALONE-PROGRAM에 의해 명시된 
  이름을 가진 독립형의 프로그램을 창조합니다. 세부사항은 '독립형 프로그램 창조하기' 에 대한 섹션을
  보십시요.

- excute A-PROGRAM-AS-A-SINGLE-STRING

  이 옵션을 가지고 당신은 즉시 실행 하기 위해 어떤 yabasic 코드에 조건으로 지정 할 수 있습니다. 
  이것은 당신이 파일로 저장하길 원치 않는 간단한 프로그램에 유용합니다. 만약 이 옵션이 주어진다면,
  당신은 한 파일로부터 어떤 코드도 읽지 못할 것입니다. 당신이 1과 10사이에 평방수 몇개를 잊어 먹었다
  고 가정해봅니다.; 이 경우에 있어 yabasic 명령어 - e 'for a=1 to 10:print a*a:next a' 는 즉시 당신에게 
  답을 줄 것입니다. 

- infolevel INFOLEVEL 

  INFOLEVEL이 debug, note, warning, error 그리고 fatal의 하나가 될 수 있는 곳인 , (default가 
  경고하고 있는) yabasic의 infolevel을 변화시킨다. 이 옵션은 yabasic이 만들어 낸 debugging 
  정보의 양을 변화시킵니다. 그러나 정상적으로 yabasic의 작가 (나!) 만이 이 것을 변화시키길 원합니다.

- doc NAME-OF-A-PROGRAM

  지정된 프로그램의 내장된 문서를 출력합니다. 프로그램의 내장된 문서는 특별한 키워드 doc로 시작하
  는 그 프로그램 안 쪽에 모든 해설로 구성되어 있습니다. 이 문서는 어떤 yabasic 프로그램의 세부 
  메뉴로부터 상응하는 입구를 선택함으로써 보여질 수 있습니다.

- librarypath DIRECTORY-WITH-LIBRARIES

  (import 명령을 가지고) library들 그 중에 찾고 가져오게 할, 디렉토리를 변화시킵니다. 역시 
  library를 찾을 방법에 대한 더 많은 정보는 이 엔트리를 보십시요.
 

3.3. context menu


windows 상에 모든 다른 아이콘 처럼, 모든 yabasic 프로그램의 아이콘은 yabasic에 적용 시킬 가장 흔한 동작을 제공하는 context menu를 가지고 있습니다.
Excute 

  이것은 당신의 프로그램이 실행 되도록 yabasic에게 기원 할 것입니다. 만약 당신이 아이콘을 더블클릭한다면 
  똑같은 일이 발생합니다. 

Edit 

  notepad가 당신의 프로그램을 편집하도록 기원 할 것입니다. 

View docu

  이것은 당신의 프로그램에 내장된 문서를 제공 할 것입니다. 내장된 문서는 특별한 해설 doc를 가지고 
  창조될것입니다.

4. Unix에서 실행되는 yabasic 프로그램

4.1. yabasic 시작하기


만약 당신의 시스템 관리자가 정확하게 yabasic을 인스톨시켰다면, 시작하는 세 가지 방법이 있습니다.:

  1. 당신은 파일 (예를 들어, foo) 로 당신의 프로그램을 배치해 놓기 위해 당신의 선호하는 편집기 (emacs, vi?)를 사용해도 됩니다. yabasic의 완벽한 경로 (예를 들어, '#!/usr/local/bin/yabasic') 의 첫번째 라인이 문자'#'을 가지고 시작 하는지 확인합니다. 이 she-bang-line이 당신의 Unix가 yabasic 프로그램을 실행시켜 줄 것이라 확신합니다. (역시 hash 문자를 살펴보십시요.) 게다가, 당신은 당신의 yabasic 프로그램을 (예를 들어, chmod u+x foo) foo로 permission을 바꾸는게 필요할 것입니다. 그 후에 (심지어 yabasic의 언급조차 없이) 단순히 foo를 타이핑함으로서 당신의 프로그램을 실행시킬 것입니다. 그러나, 만약 경로가 점 ('.') 하나를 포함하지 않았다면, 당신은 예를 들어 프로그램의 완전한 경로 (/home/ihm/foo 나 적어도 ./foo) 를 타이핑 해야 할 것입니다.

  2. 파일 (예를들어, foo) 로 당신의 프로그램을 저장하고 yabasic foo를 타이핑합니다. 이것은 yabasic이 위치한 디렉토리가 경로에 포함되었다라고 가정하고 있습니다.


  3. 마지막으로 당신은 단순히 yabasic (아마도 그것의 완전한 경로가 필요하게 것이다.) 을 타이핑 합니다. 이것은 yabasic 모습을 드러내게 만들 것이고 당신이 당신의 프로그램안에 타이핑 치도록 요청받게 될 것입니다. 일단 당신이 끝마쳤다면, 당신은 엔터키를 두 번 치는 게 필요하며 yabasic은 당신의 프로그램을 분석하여 실행 할 것입니다.(주의: 여기서 입력한 내용은 보존되지 않습니다.)

4.2. 옵션


아래 모든 옵션들은 짧은 명령어가 두 가지 의미로 해석되지 않는 한, 짧은 형태로 사용할 수 있습니다. 예를 들어, - excute 대신에 - e를 쓸 수 있습니다.

- help 혹은 - ?
  
   도움말 메세지를 출력합니다.

- version 

   yabasic의 버전을 출력합니다. 

-fg FOREGROUND-COLOR 혹은 -foreground FOREGROUND-COLOR

  (open window로 열리게 될) 그래픽 창의 foreground 색깔을 규정합니다. red, green ... 같은 평범한 x11 
  색깔명들이 받아들여집니다. 일단 yabasic이 시작되면 이 값은 변할수 없습니다.

-bg BACKGROUND-COLOR or -background BACKGROUND-COLOR
  
  그래픽 창의 background color을 규정합니다. 평범한 x11 색깔명들이 받아들여집니다. 일단 yabasic이 시작
  되면 이 값은 변할수 없습니다.

- geometry +X-Position+Y-Position</code>

   그래픽 창의 위치를 설정합니다, 다시 말하면 open window (물론, 창의 크기는 open window 명령 안에 명시
   됩니다.) 화면의 왼쪽 테두리에서 오른쪽으로 20 pixels 가고 위쪽 테두리에서 아래로 10 pixels 에 그래픽
   창을 배치하라는 한 예는 - geometry +20+10 입니다. 이 값은 일단 yabasic이 시작되면 변할 수 없습니다.

- display BACKGROUND-COLOR

    yabasic의 그래픽 창이 나타나야만 하는 곳인 display를 지정합니다. 그러나, 보통은 이 값은 DISPLAY 환경
    안에 이미 제공 될 것입니다.

- font NAME-OF-FONT 
   
   그래픽 창안에 텍스트로 사용 될, 폰트의 이름

- excute A-PROGRAM-AS-A-SINGLE-STRING

  이 옵션을 가지고 당신은 즉시 실행 되기 위한 어떤 yabasic 코드를 조건으로 지정 할 수 있습니다. 
  이것은 당신이 파일로 저장하길 원치 않는 간단한 프로그램에 유용합니다. 만약 이 옵션이 주어진다면,
  당신은 한 파일로부터 어떤 코드도 읽지 못할 것입니다.; 예를 들어 yabasic - e 'for a=1 to 10:print  
  a*a:next a' 는 즉시 당신에게 1에서 10까지 평방수들을 출력합니다.

- bind NAME-OF-STANDALONE-PROGRAM

  yabasic 프로그램으로부터 (NAME-OF-STANDALONE-PROGRAM에 의해 명시된 이름을 가진) 다시 말하면 커맨드
  라인상에 명시되어진 독립형 프로그램을 만듭니다. 세부사항은 '독립형 프로그램 창조하기'에 대한 
  섹션을 보십시요.

- infolevel INFOLEVEL 

  INFOLEVEL이 debug, note, warning, error 그리고 fatal의 하나가 될 수 있는 곳인 , (default가 
  경고하고 있는) yabasic의 infolevel을 변화시킨다. 이 옵션은 yabasic이 만들어 낸 debugging 
  정보의 양을 변화시킵니다. 그러나 정상적으로 yabasic의 작가 (나!) 만이 이 것을 변화시키길 원합니다.

- doc NAME-OF-A-PROGRAM

  지정된 프로그램의 내장된 문서를 출력합니다. 프로그램의 내장된 문서는 특별한 키워드 doc로 시작하
  는 그 프로그램 안 쪽에 모든 해설로 구성되어 있습니다. 이 문서는 어떤 yabasic 프로그램의 세부 
  메뉴로부터 상응하는 입구를 선택함으로써 보여질 수 있습니다.

- librarypath DIRECTORY-WITH-LIBRARIES

  (import 명령을 가지고) library들 그 중에 찾고 가져오게 할, 디렉토리를 변화시킵니다. 역시 
  library를 찾을 방법에 대한 더 많은 정보는 이 엔트리를 보십시요.
 

4.3. defaults 설정하기


만약 당신이 한 번에 어떤 옵션들을 설정하기 원한다면 X 윈도우즈 리소스 파일로 배치할 수 있습니다. 이것은 대게 .X리소스 혹은 당신의 home 디렉토리 안에 어떤 파일일것입니다. (세부사항은 man x 를 쳐보십시요.)

여기에 그 파일안에 있게 될 지도 모를 샘플입니다.

yabasic*foreground: blue
yabasic*background: gold
yabasic*geometry: +10+10
yabasic*font: 9x15

이것은 blue로 foreground 색깔을 gold로 background 색깔을 설정할것입니다. 그 창은 10,10 위치에 나타나게 될 것이며 문자 폰트는 9x15가 될 것입니다.

5. 주제에 의해 설명된 yabasic의 몇 가지 특징들


이 장은 yabasic의 큰 특징들 중 몇 가지를 위한 섹션이며 각 부분과 관련된 소수의 명령어들로 이름이 지어졌습니다. 그래서 당신의 관심에 따라 이름이 붙은 부분의 가장 중요한 명령어들을 찾아 볼 수 있습니다. 이 부분으로부터 다른 명령어들은 see also 섹션안에 링크를 통해 볼 수 있습니다.

5.1. print, input과 그외의 것들


명령어 print는 '텍스트 화면상'에 텍스트를 놓는데 사용됩니다. 여기, 단어 '텍스트 화면'은 (Unix 상에서는) 터미널을 (Window 상에서는) 콘솔창을 상징합니다.

본질적으로, print는 단순히 텍스트 창에 그것의 인수를 산출합니다. 그러나, 일단 당신이 clear screen을 호출했다면 getscreen$나 putscreen을 가지고 색깔을 출력하거나 텍스트 부분을 복사하는 것과 같은 앞선 특징들을 사용할 수 있습니다.

당신은 명령어 input을 가진 input을 그 이용자에게 요청해도 상관없다.; 그것이 눌러지자 마자 각 키를 얻기 위해 inkey$를 사용하세요

5.2. 컨트롤 구문 ; loops, if 그리고 switch


물론, yabasic은 goto- 와 gosub- 구문을 가지고 있습니다; 당신은 (단지 특별한 라벨의 종류인) 어떤 라벨 혹은 줄 번호에 갈 수 있습니다. (해롭다고 고려된 goto) 의 나쁜 평판에도 불구하고 goto는 아직도 잘 사용됩니다.; 그러나 많은 경우에 있어 당신은 아마도 repeat-until, while-wend 혹은 do-loop 같은 loop들을 사용하는 경우가 많습니다.; 당신은 break 구문으로 이 loop들의 어떤 것도 떠날 수 있으며 continue를 가지고 즉시 다음 반복을 시작 해도 상관없습니다.

결정은 짧거나 긴 형태 둘 다 올수있는 if 구문으로 만들 수 있습니다. 짧은 형태는 어떤 키워드 then도 없이 그 라인의 끝을 확장 할 수 있습니다. 긴 형태는 endif로 확장을 하며 키워드 then (긴 형태를 소개하는 것인) else 혹은 elseif를 사용해서 확장해도 됩니다.

만약 당신이 많은 다른 값에 대항하여 한 표현의 결과를 시험하고 싶다면, 당신의 switch 구문을 사용해야합니다.

5.3. Drawing 과 Painting


당신은 선, 원, 직사각형 혹은 삼각형 중 어떤 것도 그리기 전에 open window를 호출해야 합니다.; 이 구문들 모두는 깨끗하게 하거나 채워지는 것으로 장식되어집니다. 만약 당신이 drawing을 위해 색을 바꾸기 원한다면, Colour를 사용하십시요. 그러나 한번에 하나의 창만이 열려주있다는 사실을 주의하시십시요.

만약 당신이 open printer 명령어를 사용한다면, 당신이 그렸던 모든 것이 printer로 보내질수있습니다.

움직이는 그래픽의 몇 가지 (매우) 제한된 버전을 사용하고자 한다면, yabasic은 문자열 안쪽에서 그래픽 창으로부터 직사각형의 지역을 검색하거나 혹은 거꾸로도 똑같은 작용을 하는 명령어 getbit$ 나 putbit를 제공합니다.

만약 당신이 마우스 클릭에 반응 하는 것을 원한다면, 당신은 inkey$ 기능을 사용해도 됩니다.

5.4. 파일에 쓰기부터 읽기까지


당신이 파일을 읽거나 쓰기 전에 파일을 열어야 합니다.; 일단 당신이 실행하려고 한다면, 파일을 닫아야만 합니다. 열린 파일은 간단한 번호로 지칭되며 만약 파일에 접근하길 원한다면 변수 내부에 저장되었을지 모를 파일이 공급되야만 합니다. 이것은 키워드 (파일로부터 읽기 위한) input 이나 (파일에 쓰기위한) print 각각 뒤에 그 파일의 번호에 뒤따라오는 hash ('#')을 입력함으로서 간단히 실행됩니다.

만약 당신이 더 제어하고 싶다면, 다 목적 명령어 peek와 poke를 사용함으로써 한 번에 1byte를 읽고 쓰는 것을 고려해도 됩니다.

5.5. 서브루틴과 라이브러리

어떤 yabasic 프로그램을 더 조그맣게 만드는 최고의 방법이자, 좀 더 관리하기 쉬운 것들은 서브루틴과 라이브러리이다. 그것들은 프로그램을 구축하는데 있어 yabasic의 가장 앞선 수단이다.

서브루틴은 하위 명령어를 가지고 만들어집니다. 서부루틴은 파라미터를 받아 값을 되돌립니다. 서부루틴은 yabasic의 많은 함수를 호출 할 수있습니다.; 그러므로 그 자신을 언어로 확장하는 것을 허락합니다.

일단 당신이 관련된 서브루틴의 세트를 만들었다면 다른 프로그램안에서도 유용할 수 있다는 사실을 느낄 것이며,라이브러리로 그것들을 모을 수 있습니다. 라이브러리 같은 것은 키워드 import를 사용함으로써 분산된 파일안에 포함되며, 당신의 어떤 프로그램에도 포함될 수 있습니다.

5.6. 문자열 처리

yabasic은 문자열로부터 부분들을 뽑아내는 평범한 함수들을 가지고 있습니다.: left$, mid$ 그리고 right$. 주의, 함수 모두는 문자열의 부분을 바꿀수 있도록 위치를 지정할 수 있습니다.

만약 당신이 token으로서 문자열을 분할하길 원한다면, token 혹은 분할하는 함수를 사용해야합니다.

그 외 여러가지 (상위경우로 변환하는) upper$, (다른 문자열 내부에 어떤 문자열을 찾는) instr$, (문자를 아스키코드로 변환하는) chr$, (패턴에 대조하여 문자열을 시험하는) glob 같은 다른 문자열 처리 함수들이 많이 있습니다. 그냥 링크를 따라가보십시요.

5.7. 계산

yabasic은 숫자와 계산을 다룹니다.: 당신은 sin 이나 atan 같은 삼각함수나 (log를 사용하는) log수학 계산 할 수있습니다. and or or 같은 비트 단위의 연산은 (인수의 최소값 혹은 최대값을 계산) 최소 혹은 최대 혹은 계수 혹은 (나눗셈 혹은 정수 부분 혹은 총수의 리마인더) int 에 더하여 사용할 수 있습니다.

5.8. 데이터

당신은 data 구문을 가진 당신의 프로그램안에 데이터를 저장 할 수 있습니다.; 실행 동안 당신은 아마도 기억속에서 희미해지기 전에 저장해야만 했던 데이터를 배열되어진채로 읽기를 원할 것입니다.

5.9. 다른 흥미로운 명령어들

yabasic 프로그램은 system과 system$를 가지고 다른 프로그램을 시작 할 수 있습니다.

peek와 poke는 내부 정보를 얻고 설정하도록 합니다; (유닉스 혹은 윈도우즈) 운영 체제 둘다

현재 시각이나 날짜는 (몇인지 추측합니다 !) time$와 date$를 가지고 검색할 수 있습니다.

6. 주제에 의해 목록화된 모든 명령어와 함수들

6.1. 숫자 처리와 변환

6.1.1. abs ()

인수의 완벽한 값을 구합니다.

6.1.2. acos ()

인수의 아커스 cos을 구합니다.

6.1.3. and()

비트단위의 계산 and

6.1.4. asin()

인수의 아커스 sin을 구합니다.

6.1.5. atan()

인수의 아크 tan를 구합니다.

6.1.6. bin$()

2진수로 숫자를 변환합니다.

6.1.7. cos()

인수의 cos을 구합니다.

6.1.8. dec()

2진수나 16진수를 십진법으로 변환합니다.

6.1.9. eor()

두 인수들을 비트 단위로 더합니다.

6.1.10. euler

상수 2.71828182864의 또 다른 이름

6.1.11. exp()

인수의 지수 함수를 계산합니다.

6.1.12. frac()

실수의 소수 부분을 돌려줍니다.

6.1.13. int()

정수 부분을 돌려줍니다.

6.1.14. log()

자연로그를 계산합니다.

6.1.15. max()

두 인수들 중에 더 큰 인수룰 돌려줍니다.

6.1.16. min()

두 인수들 중에 더 작은 인수를 돌려줍니다.

6.1.17. mod()

나눗셈의 나머지를 계산합니다.

6.1.18. or()

산수의 or이며 비트 연산을 위해 사용합니다.

6.1.19. pi

값 3.14150를 갖는 상수

6.1.20. ran()

난수를 돌려줍니다.

6.1.21. sig()

인수의 부호를 돌려줍니다.

6.1.22. sin()

인수의 sin을 돌려줍니다.

6.1.23. sqr()

인수의 제곱을 계산합니다.

6.1.24. sqrt()

인수의 제곱근을 계산합니다.

6.1.25. tan()

인수의 tan를 돌려줍니다.

6.1.26. xor()

비트단위로 더합니다.

6.1.27. **or^

거듭제곱을 합니다.

6.2. 조건과 조절 구문

6.2.1. and

논리적인 and 이며 조건 안에서 사용됩니다.

6.2.2. break

switch 구문이나 loop를 탈출합니다.

6.2.3. case

siwtch 구문안에서 서로 다른 case로 구분합니다.

6.2.4. continue

for,do,repeat 혹은 while-loop의 다음 반복을 시작합니다.

6.2.5. default

switch 구문안에서 default 가지로 구분합니다.

6.2.6. do

(조건없는) do-loop를 시작합니다.

6.2.7. else

if 구문안에 양자택일을 구분짓습니다.

6.2.8. elsif

if 구문안에 대안조건을 시작합니다.

6.2.9. false

0의 값을 가지는 상수

6.2.10. fi

end-if를 위한 또 다른 이름

6.2.11. for

for 루프를 시작합니다.

6.2.12. gosub

당신의 프로그램 안의 어떤 점에서 실행을 시작합니다. (그리고 후에 되돌아옵니다.)

6.2.13. goto

당신의 프로그램 안의 어떤 점에서 실행을 시작합니다. (그리고 결코 돌아오지 않습니다.)

6.2.14. if

조건을 평가하여 구문을 실행시키며 그렇지 않으면 결과에 의존합니다.

6.2.15. label

당신의 프로그램 안에 goto,gosub 혹은 restore를 위한 특정한 위치를 명시합니다.

6.2.16. loop

infinite loop의 끝을 명시합니다.

6.2.17. next

for loop의 끝을 명시합니다.

6.2.18. not

표현을 부정합니다 ; ! 로써 쓸 수 있습니다.

6.2.19. on gosub

다수의 gosub 대상들 중 하나에 건너뜀니다.

6.2.20. on goto

많은 goto 대상들 중 하나에 건너뜀니다.

6.2.21. on interrupt

키보드 인터럽트 상에서 반응을 변화시킵니다.

6.2.22. logical or

조건안에서 사용됩니다.

6.2.23. pause

지정된 시간동안 멈추거나 잠잠히 있거나 기다립니다.

6.2.24. repeat

repeat 루프를 시작합니다.

6.2.25. return

subroutine이나 gosub로부터 되돌아옵니다.

6.2.26. sleep

지정된 시간동안 멈추거나 잠잠히 있거나 기다립니다.

6.2.27. switch

값에 의존하는 많은 양자택일들 중 하나를 선택합니다.

6.2.28. then

if 구문의 짧은 형태를 긴 형태로 알려줍니다.

6.2.29. true

1의 값을 갖는 상수

6.2.30. until

repeat 루프를 끝마칩니다.

6.2.31. wait

지정된 시간동안 멈추거나 잠잠히 있거나 기다립니다.

6.2.32. wend

while 루프를 끝마칩니다.

6.2.33. while

while 루프를 시작합니다.

6.2.34. .

각각으로부터 명령을 구분합니다.

6.3. 자료 관리와 처리

6.3.1. arraydim()

array reference로서 통과된 array의 치수를 돌려줍니다.

6.3.2. arraysize()

array 치수의 크기를 돌려줍니다.

6.3.3. data

data 아이템의 목록을 소개합니다.

6.3.4. dim

dim의 첫번째 사용전에 array를 만듭니다.

6.3.5. read

data 구문으로부터 data를 읽습니다.

6.3.6. redim

redim의 첫번째 사용전에 array를 만듭니다. dim의 별칭

6.3.7. restore

data-pointer의 장소를 바꿉니다.

6.4. 문자열 처리

6.4.1. asc()

문자열을 받아들여 ascill charset 첫번째 문자의 위치로 돌려줍니다.

6.4.2. chr$()

숫자를 받아들여 ascill charset안에 이 위치에서 문자로 돌려줍니다.

6.4.3. glob()

문자열이 simple pattern과 걸맞는지를 확인합니다.

6.4.4. hex$()

숫자를 16진법으로 바꿉니다.

6.4.5. instr()

처음것 안에 그것의 두번째 argument를 찾습니다; 만약 찾았다면 그것의 위치로 돌려줍니다.

6.4.6. left$()

문자열의 왼쪽끝을 돌려줍니다 (혹은 변화시킵니다)

6.4.7. len()

문자열의 길이를 돌려줍니다.

6.4.8. lower$()

문자열을 lower case로 바꿉니다.

6.4.9. ltrim$()

문자열의 왼쪽끝에 공간을 없앱니다.

6.4.10. mid$()

문자열안에서부터 문자들을 돌려줍니다 (혹은 변화시킵니다)

6.4.11. right$()

문자열의 오른쪽끝을 돌려줍니다 (혹은 변화시킵니다)

6.4.12. split()

한 문자열을 많은 문자열로 쪼갭니다.

6.4.13. str$()

숫자를 문자열로 바꿉니다.

6.4.14. token()

한 문자열을 다양한 문자열로 쪼갭니다.

6.4.15. trim$()

그것의 argument로부터 leading 그리고 trailing space를 제거합니다.

6.4.16. upper$()

한 문자열에서 upper case로 바꿉니다.

6.4.17. val()

한 문자열을 숫자로 바꿉니다.

6.5. 파일 운영과 출력하기

6.5.1. at()

특정한 위치에서 출력이 위치하게 print 명령어안에서 사용될 수 있습니다.

6.5.2. beep

당신의 컴퓨터 안에서 벨을 울리게합니다; bell과 유의어

6.5.3. bell

당신의 컴퓨터 안에서 벨을 울리게합니다; (beep 처럼)

6.5.4. clear screen

text window를 지웁니다.

6.5.5. close

전에 열려있던 파일을 닫습니다.

6.5.6. close printer

그래픽의 출력을 멈춥니다.

6.5.7. print color

색깔을 가지고 출력합니다.

6.5.8. print colour

print color를 보십시요.

6.5.9. eof

열린 파일이 데이터를 포함했는가를 확인합니다.

6.5.10. getscreen$()

텍스트 터미널의 직각의부분을 묘사하는 문자열로 돌려줍니다.

6.5.11. inkey$

한 키가 눌러질때까지 기다립니다.

6.5.12. input

사용자 (혹은 파일로부터) 입력을 읽고 그것을 함수로 할당합니다.

6.5.13. line input

텍스트의 전체 라인을 읽고 그것을 함수로 할당합니다.

6.5.14. open

파일을 엽니다.

6.5.15. open printer

printing graphics로 printer를 엽니다.

6.5.16. print

터미널 혹은 파일에 씁니다.

6.5.17. putscreen

문자의 직사각형을 텍스트 터미널로 끌어냅니다.

6.5.18. reverse

reverse를 출력합니다 (배경과 전경색깔이 바뀐다.)
6.5.18.1. screen
clear screen으로서 text window를 지웁니다.

6.5.19. seek()

열린 파일안에 특정위치를 변화시킵니다.

6.5.20. tell

열린 파일안에 현재위치를 알려줍니다.

6.5.21. using

한 숫자를 출력하기 위채 특정 포멧을 지정합니다.

6.5.22. '#'

파일 번지를 위한 comment나 marker

6.5.23. @

at에 동의어

6.5.24. ;

print 구문후에 맹목적인 newline을 막습니다.

6.6. 서브루틴과 라이브러리

6.6.1. end sub

서브루틴 정의를 끝낸다

6.6.2. export

전체적으로 볼수있도록 함수를 표시

6.6.3. import

라이브러리를 들여옵니다

6.6.4. local

서브루틴에 장소로서 변수를 표시

6.6.5. numparams

서브루틴에 통과되었던 파라미터의 수를 회복합니다

6.6.6. return

서브루틴 혹은 gosub로 부터 회복합니다

6.6.7. static

calls에서 서브루틴사이 변수의 값을 보존합니다

6.6.8. step

for-loop안에 증가 간격을 조건으로서 지정합니다

6.6.9. sub

규정된 서브루틴을 사용자에게 선언합니다

6.7. 다른 명령어들

6.7.1. bind()

홀로 작동하는 프로그램으로 yabasic 프로그램과 yabasic 인터프리터 둘다를 묶습니다

6.7.2. compile

플라이(the fly)상에 yabasic 코드를 가진 문자열을 컴파일합니다

6.7.3. date$

현재 date의 다양한 요소를 가진 문자열을 리턴합니다

6.7.4. doc

프로그램 그자신에의해 회수될지 모르는, 특별한 주석

6.7.5. docu$

프로그램 안에 모든 docu-구문의 콘텐츠를 포함하는, 특별한 array

6.7.6. error

에러를 일으키고 당신의 프로그램을 종료합니다

6.7.7. execute$()

문자열을 리턴해야만하는, 특정지어진 서브루틴을 사용자가 실행하도록합니다

6.7.8. execute()

숫자를 리턴해야만하는, 특정지어진 서브루틴을 사용자가 실행하도록합니다

6.7.9. exit

당신의 프로그램을 종결시킵니다

6.7.10. pause

pause 하고 sleep 하며 명시된 수초동안 기다립니다

6.7.11. peek

다양한 내부의 정보를 회복합니다

6.7.12. peek$

다양한 내부의 문자열-정보를 회복합니다

6.7.13. poke

yabasic의 선택된 내부를 바꿉니다

6.7.14. rem

주석을 시작합니다

6.7.15. sleep

pause하고 sleep하며 명시된 수초동안 기다립니다

6.7.16. system$()

당신의 운영체제에 명령문을 넘기고 그것의 출력을 리턴합니다

6.7.17. system()

당신의 운영체제에 명령문을 넘기고 그것의 엑시트코드(exitcode)를 리턴합니다

6.7.18. time$

현재 시간을 포함하는 문자열을 리턴합니다

6.7.19. to

이 키워드가 다른 명령문의 부분으로서 나타납니다

6.7.20. wait

pause하고 sleep하며 명시된 수초동안 기다립니다

6.7.21. //

주석을 시작합니다

6.7.22. :

각 다른것으로 부터 명령을 분리합니다

6.8. 그래픽과 출력

6.8.1. backcolor

specify the colour for subsequent drawing of the background box draw a rectangle. A synonym for rectangle circle draws a circle in the graphic-window clear Erase circles, rectangles or triangless clear window clear the graphic window and begin a new page, if printing is under way close curve close a curve, that has been drawn by the line-command close window close the graphics-window colour specify the colour for subsequent drawing dot draw a dot in the graphic-window fill draw a filled circles, rectangles or triangles getbit$() return a string representing the bit pattern of a rectangle within the graphic window line draw a line mouseb extract the state of the mousebuttons from a string returned by inkey$ mousemod return the state of the modifier keys during a mouseclick mousex return the x-position of a mouseclick mousey return the y-position of a mouseclick new curve start a new curve, that will be drawn with the line-command open window open a graphic window putbit draw a rectangle of pixels into the graphic window rectangle draw a rectangle triangle draw a triangle text write text into your graphic-window window origin move the origin of a window

==계속 번역할 예정입니다.==

7. 대화

No messages

8. FAQ

Q A
질문1답변1
질문2답변2
질문3답변3

9. yabasic에 관한 권한



9. yabasic에 관한 권한

yabasic의 복제는 Yabasic이 배급한 수정권한(Artistic License [http]http://www.olis.or.kr/ossw/license/license/detail.do?lid=1017) 또는 GNU 일반공동라이센스(GPL, General Public License)의 내용을 따르는 경우에 가능합니다.

수정권한? GNU? 무슨 말인지 조금 어렵다고 말하시는 것 같은데...맞죠? 음, 사실 두 권한에 대해서는 저도 읽고 싶지 않아서, 여러분께서 스스로 읽어보시면 좋겠습니다. (웃음) 여러분께서는 '수정권한'을 따르는게 yabasic을 사용하는데 더 융통성을 드릴 테니, 전자를 선택하십시오. 참고로 GPL은 많은 소프트웨어들이 배포될 때 정하고 있는 좀 더 널리 알려진 규약입니다.


'수정권한'을 따르는 조건 아래, 아래와 같은 행위가 가능합니다.


• yabasic을 사용자의 홈페이지 담거나 혹은 CD에 담아 yabasic을 공급하며 비용을 청구하는 경우

• 사용자 스스로 작성한 yabasic 사용 프로그램들 및 yabsic을 함께 묶어 판매하는 경우

• yabasic을 수정하거나 그 일부를 첨가, 삭제하여 그 수정본을 판매하는 경우


10. 게시판




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-12-12 17:13:15
Processing time 0.0271 sec