Sftp.read! accepts neither 3 nor 1 arguments

I am using Ruby 1.9.3p392, with net/ssh 2.6.7 and net-sftp 2.1.1.

When I tried to call with sftp.read! with three arguments, I got the
error at syntax-check time, implying it wants only one argument
(pointing at the first comma):

syntax error, unexpected ‘,’, expecting ‘)’

sftp.read!( handle, 0, 65535 )
^

When I tried to call with one argument as it seemed to want, I got the
error at runtime:

sftp.read!( handle )

:in `read!’: wrong number of arguments (1 for 3) (ArgumentError)

So which is it; what dumb thing don’t I understand, or am I doing wrong?

Mike O. wrote in post #1111599:

I am using Ruby 1.9.3p392, with net/ssh 2.6.7 and net-sftp 2.1.1.

When I tried to call with sftp.read! with three arguments, I got the
error at syntax-check time, implying it wants only one argument
(pointing at the first comma):

syntax error, unexpected ‘,’, expecting ‘)’

sftp.read!( handle, 0, 65535 )
^

The parser does not know or care how many parameters a method expects,
so a syntax error never implies the wrong number of arguments.
Therefore it implies something else. In this case, what you’ve posted
looks good; maybe there’s something in the lines around this one that
might help? Are you sure the first space comes after the left-paren,
and not before?