2014-11-07 3 views
4

새내기 질문 여기 ... "what"함수의 출력을 텍스트 파일에 쓰고 싶습니다. 그래서 여기Rebol 2의 텍스트 파일에 변수의 내용을 쓰려면 어떻게해야합니까?

내가 무엇을했는지입니다 : 이제 [무엇]

: 나는 "텍스트"라는 변수를 만든

와의 출력을 할당 "무엇을"

텍스트 그것 "텍스트"변수의 내용을 TXT 파일에 쓰고 싶습니다 ...

도움을 주시면 감사하겠습니다. 미리 감사드립니다!

는 콘솔에 다음과 같은 시도 :

print ["Value of `what` is: " what] 

그래서 write %filename.txt [what]이 작동하지 않습니다

답변

3

불행하게도 정말 what 함수에서 반환 값이 없다.

대신에, 당신이 할 수있는 것은 반환 what

source what 

의 소스 보는 것입니다 :

what: func [ 
    "Prints a list of globally-defined functions." 
    /local vals args here total 
][ 
    total: copy [] 
    vals: second system/words 
    foreach word first system/words [ 
     if any-function? first vals [ 
      args: first first vals 
      if here: find args /local [args: copy/part args here] 
      append total reduce [word mold args] 
     ] 
     vals: next vals 
    ] 
    foreach [word args] sort/skip total 2 [print [word args]] 
    exit 
] 

이는 값을 반환하지 않습니다 (이 기능은 인쇄 것을보기 그것 찾기) 원하는대로 스크립트를 수정할 수 있습니다 :

new-what: func [ 
    "Returns a list of globally-defined functions." 
    /local vals args here total collected 
][ 
    collected: copy [] 
    total: copy [] 
    vals: second system/words 
    foreach word first system/words [ 
     if any-function? first vals [ 
      args: first first vals 
      if here: find args /local [args: copy/part args here] 
      append total reduce [word mold args] 
     ] 
     vals: next vals 
    ] 
    foreach [word args] sort/skip total 2 [append collected reduce [word tab args newline]] 
    write %filename.txt collected 
    exit 
] 

이 기능은 다음과 같습니다. 약간 hackish (파일 이름이 설정되어 있지만 원하는 것을 반환합니다). 파일 이름을 수락하거나 원하는대로 수행하도록 함수를 확장 할 수 있습니다. tabnewline은 파일 출력을 더 예쁘게 만듭니다.

중요 사항이에서주의 사항 :

  1. 인쇄 기능을 한 번에 파일에 값을 기록합니다
  2. write %filename value
  3. 을 무엇을 알아 해제
  4. 사용 source 반환합니다. 파일이 open 인 경우 더 많은 시간을 쓸 수 있습니다.
0

상당히 초등 : 단지 텍스트를 저장하려는 경우 write을 사용하고, 복구하려면 read을 사용하십시오. 일부 데이터를 저장하고 load을 사용하여 복구하려면 save을 사용하십시오.

>> write %file.txt "Some Text" 
>> read %file.txt 
== "Some Text" 

>> text: [what] 
>> save/all %file.r text 
>> load %file.r 
== [what] 

당신은 프롬프트에서 각 단어에 대한 자세한 정보를 얻을 수 있습니다 : help save하거나 볼 온라인 : load, save, readwrite을.

3

파일로 문의 출력을 쓸 수있는 가장 쉬운 방법은이

>> help echo 
USAGE: 
     ECHO target 

DESCRIPTION: 
    Copies console output to a file. 
    ECHO is a function value. 

ARGUMENTS: 
    target -- (Type: file none logic) 

(SPECIAL ATTRIBUTES) 
    catch 
을 종료 echo none

echo %file.log 
what 

을 사용하는 것입니다