[#393742] Getting the class of an object. — Ralph Shnelvar <ralphs@...32.com>

Consider;

14 messages 2012/03/06

[#393815] arcadia IDE requires tcl/tk and ruby-tk — Thufir Hawat <hawat.thufir@...>

which or where tcl and tk does arcadia require? Is this a gem which I

13 messages 2012/03/13

[#393952] What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...>

Hi!

18 messages 2012/03/21
[#393953] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

Active Support has recently added qualified_const_* methods to Module

[#393954] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

Ah, that won't work in 1.8.

[#393959] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/21

On Wed, Mar 21, 2012 at 16:43, Xavier Noria <fxn@hashref.com> wrote:

[#393960] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

On Wed, Mar 21, 2012 at 8:17 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#393961] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/21

On Wed, Mar 21, 2012 at 20:48, Xavier Noria <fxn@hashref.com> wrote:

[#393962] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/21

On Wed, Mar 21, 2012 at 9:51 PM, Nikolai Weibull <now@bitwi.se> wrote:

[#393967] Re: What’s the best way to check if a feature/class has been loaded? — Nikolai Weibull <now@...> 2012/03/22

On Wed, Mar 21, 2012 at 22:11, Xavier Noria <fxn@hashref.com> wrote:

[#393969] Re: What’s the best way to check if a feature/class has been loaded? — Xavier Noria <fxn@...> 2012/03/22

On Thu, Mar 22, 2012 at 6:15 AM, Nikolai Weibull <now@bitwi.se> wrote:

[#394154] uninitialized constant SOCKSSocket — Resident Moron <lists@...>

I am running ruby 1.9.3 on a linux box. I would like to use

10 messages 2012/03/29

[#394160] Why z = Complex(1,2) rather than z = Complex.new(1,2)? — Ori Ben-Dor <lists@...>

What's this syntax, z = Complex(1,2), as opposed to z =

14 messages 2012/03/29

[#394175] shoes no such file to load -- rubygems — Mr theperson <lists@...>

I have installed shoes to develop GUI applications but when I try and

13 messages 2012/03/29

[#394201] Can't open url with a subdomain with an underscore — Jeroen van Ingen <lists@...>

I try to open the following URL: http://auto_diversen.marktplaza.nl/

10 messages 2012/03/30

[#394222] Ruby openssl ECC help plz — no name <lists@...>

I am confused on how to properly export public ECC key. I can see it

13 messages 2012/03/31

Re: Any function similar to PHP's file_get_contents() ?

From: Robert Klemme <shortcutter@...>
Date: 2012-03-14 08:06:38 UTC
List: ruby-talk #393834
On Tue, Mar 13, 2012 at 9:08 PM, Wayne Brisette <wbrisett@att.net> wrote:
>> From: Robert Klemme <shortcutter@googlemail.com>
>>
>> > Ok, then a simpler solution:
>> >
>> > =A0document =3D open('http://www.google.com/').read
>>
>> document =3D File.read 'http://www.google.com/'
>
> Robert:
>
> You constantly amaze me with your cleverness. Thanks!

Thanks, but I am afraid I wasn't that clever this time:

$ irb19 -r open-uri
Ruby version 1.9.3
irb(main):001:0> url =3D 'http://www.google.com/'
=3D> "http://www.google.com/"
irb(main):002:0> io =3D open url
=3D> #<File:/tmp/open-uri20120314-2280-ju7rp9>
irb(main):003:0> io.read.length
=3D> 12080
irb(main):004:0> io.close
=3D> nil
irb(main):005:0> io =3D File.open url
Errno::ENOENT: No such file or directory - http://www.google.com/
        from (irb):5:in `initialize'
        from (irb):5:in `open'
        from (irb):5
        from /opt/bin/irb19:12:in `<main>'
irb(main):006:0> File.read(url).length
Errno::ENOENT: No such file or directory - http://www.google.com/
        from (irb):6:in `read'
        from (irb):6
        from /opt/bin/irb19:12:in `<main>'

Should've tested this properly. :-))

Sorry for the confusion.

But we can do

irb(main):012:0> def read(x)
irb(main):013:1> io =3D open(x)
irb(main):014:1> begin
irb(main):015:2*   io.read
irb(main):016:2> ensure
irb(main):017:2*   io.close
irb(main):018:2> end
irb(main):019:1> end
=3D> nil
irb(main):020:0> read(url).length
=3D> 11117

While we're at it we could also do

irb(main):022:0> class Object
irb(main):023:1> def tap_close
irb(main):024:2> yield self
irb(main):025:2> ensure
irb(main):026:2* close
irb(main):027:2> end
irb(main):028:1> end
=3D> nil
irb(main):029:0> open(url).tap_close {|io| io.read}.length
=3D> 11117

or

irb(main):030:0> def auto_close(x)
irb(main):031:1> yield x
irb(main):032:1> ensure
irb(main):033:1* x.close
irb(main):034:1> end
=3D> nil
irb(main):035:0> auto_close(open(url)) {|io| io.read}.length
=3D> 11105

Hmm, I think I like the variant with #read best.

Kind regards

robert



--=20
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread

Prev Next