First off, may I say that ri, with its recent improvements, is now
useful to me for the first time since I started using ruby? With the
spaces after the commas, the listing of a class's superclass, the
ability to search up the class hierarchy, and so forth, I can now
usually find what I'm looking for and read the result.
That said, there remain a few edge cases on my machine where ri seems to
break down. An example is String#squeeze, which comes up with an empty
description:
There is, however, another String#squeeze that *does* have a
description. Where there's a choice like this, I'd like to see the one
with the description. I can say:
$ ri --no-site String#squeeze
and that does work, but it also causes a huge delay both now while the
cache is rebuilt and on the next ri search without --no-site while the
cache is rebuilt *again*. What I'd really like is syntax for choosing
between different String#squeeze. For example, maybe the -i interactive
option could give me the ability to enter numbers?
First off, may I say that ri, with its recent improvements, is now
useful to me for the first time since I started using ruby? With the
spaces after the commas, the listing of a class's superclass, the
ability to search up the class hierarchy, and so forth, I can now
usually find what I'm looking for and read the result.
That said, there remain a few edge cases on my machine where ri seems to
break down. An example is String#squeeze, which comes up with an empty
description:
From /usr/local/share/ri/1.8/site/String/cdesc-String.yaml
------------------------------------------------------------------------
[no description]
There is, however, another String#squeeze that *does* have a
description. Where there's a choice like this, I'd like to see the one
with the description. I can say:
$ ri --no-site String#squeeze
and that does work, but it also causes a huge delay both now while the
cache is rebuilt and on the next ri search without --no-site while the
cache is rebuilt *again*. What I'd really like is syntax for choosing
between different String#squeeze. For example, maybe the -i interactive
option could give me the ability to enter numbers?
m.
hm...I have no problems with String#squeeze
not for ruby 1.8.7 nor for 1.9.1
------------------------------------------------------------------------
Returns an enumerator that gives each character in the string. If a
block is given, it iterates over each character in the string.
Faster, but long ago broken OMM. It stopped working one day (after a
rdoc update, I think) and just never worked again. It doesn't look very
supported and I assume it is no longer maintained...?
I am still back at 1.8.6.
$ qri String
/usr/local/lib/ruby/1.8/yaml.rb:133:in `transfer': invalid subclass
(TypeError)
from /usr/local/lib/ruby/1.8/yaml.rb:133:in `node_import'
from /usr/local/lib/ruby/1.8/yaml.rb:133:in `load'
from /usr/local/lib/ruby/1.8/yaml.rb:133:in `load'
from /usr/local/lib/ruby/1.8/rdoc/ri/ri_descriptions.rb:72:in
`deserialize'
from /usr/local/lib/ruby/site_ruby/1.8/fastri/ri_index.rb:354:in
`get_class'
from /usr/local/lib/ruby/site_ruby/1.8/fastri/ri_index.rb:354:in
`open'
from /usr/local/lib/ruby/site_ruby/1.8/fastri/ri_index.rb:354:in
`get_class'
from /usr/local/lib/ruby/site_ruby/1.8/fastri/ri_index.rb:352:in
`each'
from /usr/local/lib/ruby/site_ruby/1.8/fastri/ri_index.rb:352:in
`get_class'
from
/usr/local/lib/ruby/site_ruby/1.8/fastri/ri_service.rb:209:in `info'
from
/usr/local/lib/ruby/site_ruby/1.8/fastri/ri_service.rb:422:in
`capture_stdout'
from
/usr/local/lib/ruby/site_ruby/1.8/fastri/ri_service.rb:208:in `info'
from /usr/local/bin/qri:342
from /usr/local/bin/qri:337:in `each'
from /usr/local/bin/qri:337
···
badboy <badboy@heartofgold.co.cc> wrote:
matt neuburg schrieb:
> First off, may I say that ri, with its recent improvements, is now
> useful to me for the first time since I started using ruby? With the
> spaces after the commas, the listing of a class's superclass, the
> ability to search up the class hierarchy, and so forth, I can now
> usually find what I'm looking for and read the result.
>
> That said, there remain a few edge cases on my machine where ri seems to
> break down. An example is String#squeeze, which comes up with an empty
> description:
>
> --------------------------------------------------------- String#squeeze
> squeeze(del=nil)
>
> From /usr/local/share/ri/1.8/site/String/cdesc-String.yaml
> ------------------------------------------------------------------------
> [no description]
>
> There is, however, another String#squeeze that *does* have a
> description. Where there's a choice like this, I'd like to see the one
> with the description. I can say:
>
> $ ri --no-site String#squeeze
>
> and that does work, but it also causes a huge delay both now while the
> cache is rebuilt and on the next ri search without --no-site while the
> cache is rebuilt *again*. What I'd really like is syntax for choosing
> between different String#squeeze. For example, maybe the -i interactive
> option could give me the ability to enter numbers?
>
> m.
>
hm...I have no problems with String#squeeze
not for ruby 1.8.7 nor for 1.9.1
but I prefer fastri over ri, because....it's *faster*
irb(main):002:0> help "String#chars"
----------------------------------------------------------- String#chars
str.chars => anEnumerator
str.chars {|substr| block } => str
------------------------------------------------------------------------
Returns an enumerator that gives each character in the string. If a
block is given, it iterates over each character in the string.
but I prefer fastri over ri, because....it's *faster*
Faster, but long ago broken OMM. It stopped working one day (after a
rdoc update, I think) and just never worked again. It doesn't look very
supported and I assume it is no longer maintained...?
You seem to have two sets of ri data installed. Try locate cdesc-String.yaml to see where the two sets live, then delete the one without documentation.
irb(main):002:0> help "String#chars"
----------------------------------------------------------- String#chars
str.chars => anEnumerator
str.chars {|substr| block } => str
------------------------------------------------------------------------
Returns an enumerator that gives each character in the string. If a
block is given, it iterates over each character in the string.
"foo".chars.to_a #=> ["f","o","o"]
But what I asked about was String.squeeze. Same problem:
irb(main):001:0> help "String#squeeze"
More than one method matched your request. You can refine
your search by asking for information on one of:
> irb(main):001:0> help "String#squeeze"
> More than one method matched your request. You can refine
> your search by asking for information on one of:
>
> String#squeeze!, String#squeeze, String#squeeze!, String#squeeze
>
> Now what? m.
You seem to have two sets of ri data installed. Try locate cdesc-
String.yaml to see where the two sets live, then delete the one
without documentation.
maybe our next tweak on `gem check` should do this check too?
···
On Feb 25, 2009, at 11:29 , Eric Hodel wrote:
You seem to have two sets of ri data installed. Try locate cdesc-String.yaml to see where the two sets live, then delete the one without documentation.
This one seemed to be an artifact of ruby's `make install-doc`, I'm unsure how to reproduce it.
RDoc now only looks in the latest gem dirs for documentation, so this shouldn't happen for ri for gems even with multiple versions.
···
On Feb 26, 2009, at 00:51, Ryan Davis wrote:
On Feb 25, 2009, at 11:29 , Eric Hodel wrote:
You seem to have two sets of ri data installed. Try locate cdesc-String.yaml to see where the two sets live, then delete the one without documentation.
maybe our next tweak on `gem check` should do this check too?