asoto
1
Hi,
I’m trying to use scanf(), but no luck:
$ ruby --version
ruby 1.8.6 (2007-06-07 patchlevel 36) [i486-linux]
$ uname -a
Linux zrbite 2.6.21-2-686 #1 SMP Wed Jul 11 03:53:02 UTC 2007 i686 GNU/
Linux
$ irb
irb(main):001:0> w=scanf("%s")
NoMethodError: undefined method `scanf’ for main:Object
from (irb):1
irb(main):002:0>
Trying to call $stdin.scanf() does not help either (NoMethodError).
What I’m missing?
Cheers,
Alex
asoto
2
Hi –
On Sun, 16 Sep 2007, Alex S. wrote:
irb(main):001:0> w=scanf("%s")
NoMethodError: undefined method `scanf’ for main:Object
from (irb):1
irb(main):002:0>
Trying to call $stdin.scanf() does not help either (NoMethodError).
What I’m missing?
You have to require it:
irb(main):001:0> require ‘scanf’
=> true
irb(main):002:0> a = scanf("%s")
abc
=> [“abc”]
irb(main):003:0> a
=> [“abc”]
David
asoto
3
Hi –
On Sun, 16 Sep 2007, Bil K. wrote:
$ ri scanf
(no description…)
But the original project examples at
scanf for Ruby, v.1.1.1
might get you going…
That version is obsolete; it’s best to use the one that ships with
Ruby. You have to require it, though – it’s standard library rather
than core.
require ‘scanf’
p “abc 123”.scanf(“%s%d”) => [“abc”, 123]
There’s considerable documentation in the source file, but it’s not in
rdoc form. It’s on my to-do list…
David
asoto
4
Alex S. wrote:
Hi,
Hi.
Trying to call $stdin.scanf() does not help either (NoMethodError).
What I’m missing?
I don’t know, but the ri docs sure are sparse for ruby 1.8.6
(2007-03-13):
$ ri scanf
More than one method matched your request. You can refine
your search by asking for information on one of:
IO#block_scanf, IO#scanf, Kernel#scanf, String#block_scanf,
String#scanf
$ ri Kernel.scanf
Kernel#scanf
scanf(fs,&b)
(no description...)
But the original project examples at
scanf for Ruby, v.1.1.1
might get you going…
Regards,
asoto
5
On Sep 16, 3:15 pm, [email protected] wrote:
require ‘scanf’
p “abc 123”.scanf("%s%d") => [“abc”, 123]
There’s considerable documentation in the source file, but it’s not in
rdoc form. It’s on my to-do list…
Thanks – this resolves my issue. Seems like the docs on scanf are
simply outdated.
Alex