Expand/Shrink

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