PATH:
opt
/
alt
/
ruby18
/
share
/
ri
/
1.8
/
system
/
IO
--- !ruby/object:RI::MethodDescription aliases: [] block_params: comment: - !ruby/struct:SM::Flow::P body: The trick here is doing a match where you grab one <b>line</b> of input at a time. The linebreak may or may not occur at the boundary where the string matches a format specifier. And if it does, some rule about whitespace may or may not be in effect... - !ruby/struct:SM::Flow::P body: That's why this is much more elaborate than the string version. - !ruby/struct:SM::Flow::P body: "For each line: Match succeeds (non-emptily) and the last attempted spec/string sub-match succeeded:" - !ruby/struct:SM::Flow::VERB body: " could the last spec keep matching?\n yes: save interim results and continue (next line)\n" - !ruby/struct:SM::Flow::P body: "The last attempted spec/string did not match:" - !ruby/struct:SM::Flow::P body: are we on the next-to-last spec in the string? - !ruby/struct:SM::Flow::VERB body: " yes:\n is fmt_string.string_left all spaces?\n yes: does current spec care about input space?\n yes: fatal failure\n no: save interim results and continue\n no: continue [this state could be analyzed further]\n" full_name: IO#scanf is_singleton: false name: scanf params: (str,&b) visibility: public
[-] tell-i.yaml
[edit]
[-] sysopen-c.yaml
[edit]
[-] close-i.yaml
[edit]
[-] fileno-i.yaml
[edit]
[-] ungetc-i.yaml
[edit]
[-] readlines-i.yaml
[edit]
[-] pid-i.yaml
[edit]
[-] lines-i.yaml
[edit]
[-] readline-i.yaml
[edit]
[-] stat-i.yaml
[edit]
[-] reopen-i.yaml
[edit]
[-] closed%3f-i.yaml
[edit]
[-] close_read-i.yaml
[edit]
[-] fsync-i.yaml
[edit]
[-] select-c.yaml
[edit]
[-] lineno%3d-i.yaml
[edit]
[-] write_nonblock-i.yaml
[edit]
[-] pos-i.yaml
[edit]
[-] print-i.yaml
[edit]
[-] read-i.yaml
[edit]
[-] isatty-i.yaml
[edit]
[-] readbytes-i.yaml
[edit]
[-] scanf-i.yaml
[edit]
[-] block_scanf-i.yaml
[edit]
[-] chars-i.yaml
[edit]
[-] %3c%3c-i.yaml
[edit]
[-] each_byte-i.yaml
[edit]
[-] read_nonblock-i.yaml
[edit]
[-] putc-i.yaml
[edit]
[-] fcntl-i.yaml
[edit]
[-] getc-i.yaml
[edit]
[-] ioctl-i.yaml
[edit]
[-] sync%3d-i.yaml
[edit]
[-] write-i.yaml
[edit]
[-] inspect-i.yaml
[edit]
[-] eof-i.yaml
[edit]
[-] readchar-i.yaml
[edit]
[-] sysseek-i.yaml
[edit]
[-] bytes-i.yaml
[edit]
[-] read-c.yaml
[edit]
[-] open-c.yaml
[edit]
[-] readpartial-i.yaml
[edit]
[-] cdesc-IO.yaml
[edit]
[-] each_line-i.yaml
[edit]
[-] soak_up_spaces-i.yaml
[edit]
[-] gets-i.yaml
[edit]
[-] tty%3f-i.yaml
[edit]
[-] getbyte-i.yaml
[edit]
[-] pos%3d-i.yaml
[edit]
[-] printf-i.yaml
[edit]
[-] foreach-c.yaml
[edit]
[-] close_write-i.yaml
[edit]
[+]
..
[-] flush-i.yaml
[edit]
[-] to_i-i.yaml
[edit]
[-] to_io-i.yaml
[edit]
[-] sync-i.yaml
[edit]
[-] each_char-i.yaml
[edit]
[-] each-i.yaml
[edit]
[-] binmode-i.yaml
[edit]
[-] readbyte-i.yaml
[edit]
[-] new-c.yaml
[edit]
[-] readlines-c.yaml
[edit]
[-] seek-i.yaml
[edit]
[-] eof%3f-i.yaml
[edit]
[-] rewind-i.yaml
[edit]
[-] for_fd-c.yaml
[edit]
[-] lineno-i.yaml
[edit]
[-] syswrite-i.yaml
[edit]
[-] sysread-i.yaml
[edit]
[-] pipe-c.yaml
[edit]
[-] puts-i.yaml
[edit]
[-] popen-c.yaml
[edit]