gets
| Definition: | object x = gets(integer fn) |
| Description: | Get the next sequence (one line, including '\n') of characters from file or device fn. The characters will have values from 0 to 255. The atom -1 is returned on end of file. |
| pwa/p2js: | Not supported. I would hope it is pretty obvious that you cannot read a disk file from within a browser, and should you be thinking of keyboard input, that would have to be (say) KEY, or perhaps more relevantly a VALUE_CHANGED callback on an gText. |
| Comments: | Because either a sequence or an atom (-1) might be returned, you
should probably assign the result to a variable declared as object.
The last line in a file might not end with a new-line '\n' character. |
| Example 1: |
sequence buffer
object line
integer fn
-- read a text file into a sequence
fn = open("myfile.txt", "r")
if fn=-1 then
puts(1, "Couldn’t open myfile.txt\n")
abort(1)
end if
buffer = {}
while 1 do
line = gets(fn)
if atom(line) then
exit -- -1 is returned at end of file
end if
buffer = append(buffer, line)
end while
|
| Example 2: |
object line puts(1, "What is your name?\n") line = gets(0) -- read standard input (keyboard) line = line[1..length(line)-1] -- get rid of \n character at end puts(1, ’\n’) -- necessary puts(1, line & " is a nice name.\n") |
| Implementation: | via :%opGets in builtins\VM\pfileioN.e (an autoinclude) - be warned however it is low-level complicated stuff that you do not need to know. |
| See Also: | getc, puts, open |