[#332653] Anything better than klass = eval("#{task_class}") — Paganoni <noway@...>

Hi, well subject is self explanatory...

10 messages 2009/04/01

[#332751] RubyScript2Exe — Charlie Openshaw <charlieopenshaw@...>

Hi,

14 messages 2009/04/02

[#332795] ri is suddenly empty — Fernando Perez <pedrolito@...>

Hi,

15 messages 2009/04/03

[#332861] Verify, a very basic testing tool. — Robert Dober <robert.dober@...>

Hi List

34 messages 2009/04/03
[#332871] Re: [Ann] Verify, a very basic testing tool. — Ryan Davis <ryand-ruby@...> 2009/04/03

[#332882] Re: [Ann] Verify, a very basic testing tool. — Robert Dober <robert.dober@...> 2009/04/03

On Fri, Apr 3, 2009 at 10:56 PM, Ryan Davis <ryand-ruby@zenspider.com> wrot=

[#332869] Loading classes in order — Elias Orozco <elioncho@...>

Hello guys,

17 messages 2009/04/03
[#332874] Re: Loading classes in order — Iñaki Baz Castillo <ibc@...> 2009/04/03

El Viernes 03 Abril 2009, Elias Orozco escribi=C3=B3:

[#332983] Ruby 1.9.1 - invalid multibyte escape: /[\xC0-\xDF]/ (RegexpError) — Iñaki Baz Castillo <ibc@...>

Hi, using TreeTop parser I had a grammar defined working in Ruby1.8 but it=

12 messages 2009/04/04
[#333081] Re: Ruby 1.9.1 - invalid multibyte escape: /[\xC0-\xDF]/ (RegexpError) — Eric Hodel <drbrain@...7.net> 2009/04/06

[#333092] Re: Ruby 1.9.1 - invalid multibyte escape: /[\xC0-\xDF]/ (RegexpError) — Iñaki Baz Castillo <ibc@...> 2009/04/06

2009/4/6 Eric Hodel <drbrain@segment7.net>:

[#332984] How to get "irb1.8" using Ruby1.8 instead of Ruby1.9.1 ? — Iñaki Baz Castillo <ibc@...>

Hi, in Debian I've ruby1.8 (/usr/bin/ruby1.8) and irb1.8 installed as DEB=20

16 messages 2009/04/04

[#333051] Localmemcache-0.2.1: The beauty of memcached. For local data. Blazingly fast. — "Sven C. Koehler" <schween@...>

Hi,

9 messages 2009/04/05

[#333063] how to dynamically create search term for array.find_all — Adam Akhtar <adamtemporary@...>

i want to be able to create a mehtod that will filter results in an

13 messages 2009/04/06
[#333064] Re: how to dynamically create search term for array.find_all — Phlip <phlip2005@...> 2009/04/06

Adam Akhtar wrote:

[#333108] Re: how to dynamically create search term for array.find_all — Adam Akhtar <adamtemporary@...> 2009/04/06

Thanks for your advice.

[#333109] Re: how to dynamically create search term for array.find_all — Adam Akhtar <adamtemporary@...> 2009/04/06

ahh robert, sorry i missed your reply there, i was looking at

[#333206] regex select multiple words in the middle of a sentence — Raimon Fs <coder@...>

hello,

11 messages 2009/04/07

[#333231] How to remote connect to the SQL server 2005 when there is a ‘\’ in the SQL server name, such as 192.168.0.11\active? — Wesley Chen <cjq.999@...>

Hi, Guys,

10 messages 2009/04/07
[#333246] Re: How to remote connect to the SQL server 2005 when there is a ‘\’ in the SQL server name, such as 192.168.0.11\active? — "Sean O'Halpin" <sean.ohalpin@...> 2009/04/07

(Disclaimer: It's a while since I did anything with SQL Server)

[#333265] Re: How to remote connect to the SQL server 2005 when there is a ‘\’ in the SQL server name, such as 192.168.0.11\active? — Wesley Chen <cjq.999@...> 2009/04/08

Hi, Sean,

[#333275] Re: How to remote connect to the SQL server 2005 when there is a ‘\’ in the SQL server name, such as 192.168.0.11\active? — "Sean O'Halpin" <sean.ohalpin@...> 2009/04/08

On Wed, Apr 8, 2009 at 3:50 AM, Wesley Chen <cjq.999@gmail.com> wrote:

[#333273] Ruby 1.9 still cannot list all files on Vista or XP? — SpringFlowers AutumnMoon <summercoolness@...>

I just tried using Ruby 1.9 and it seemed that it still cannot list all

18 messages 2009/04/08

[#333291] How to find Operating system — Newb Newb <revathy.p@...>

Hi....

19 messages 2009/04/08
[#333299] Re: How to find Operating system — Mark S Bilk <mark@...> 2009/04/08

On Apr 8, 4:27=A0am, Eleanor McHugh <elea...@games-with-brains.com>

[#333309] Re: How to find Operating system — Eleanor McHugh <eleanor@...> 2009/04/08

On 8 Apr 2009, at 13:30, Mark S Bilk wrote:

[#333311] performing an action only the first time a function called — James French <James.French@...> 2009/04/08

Hi,

[#333319] Ruby editor for linux — Juan Zanos <juan_zanos@...>

Does anyone have any suggestions for a Ruby editor on Linux? I

31 messages 2009/04/08

[#333368] Goodbye Ruby - Hello Earth — Christophe Mckeon <chromatophore@...>

Hello Fellow Humans,

170 messages 2009/04/08
[#333440] Re: Goodbye Ruby - Hello Earth — The Higgs bozo <higgs.bozo@...> 2009/04/09

Christophe Mckeon wrote:

[#333443] Re: Goodbye Ruby - Hello Earth — Phlip <phlip2005@...> 2009/04/09

The Higgs bozo wrote:

[#333455] Re: Goodbye Ruby - Hello Earth — Phlip <phlip2005@...> 2009/04/09

>> Am I the only one who, upon reading the subject line, thought that

[#333468] Re: Goodbye Ruby - Hello Earth — Christophe Mckeon <chromatophore@...> 2009/04/09

Hi guys,

[#333542] Re: Goodbye Ruby - Hello Earth — Jeff Schwab <jeff@...> 2009/04/10

Christophe Mckeon wrote:

[#333580] Re: Goodbye Ruby - Hello Earth — Eleanor McHugh <eleanor@...> 2009/04/10

> Christophe Mckeon wrote:

[#333602] Re: Goodbye Ruby - Hello Earth — Chad Perrin <perrin@...> 2009/04/11

On Sat, Apr 11, 2009 at 02:22:09AM +0900, Eleanor McHugh wrote:

[#333615] Re: Goodbye Ruby - Hello Earth — Eleanor McHugh <eleanor@...> 2009/04/11

On 11 Apr 2009, at 02:12, Chad Perrin wrote:

[#333626] Re: Goodbye Ruby - Hello Earth — Robert Dober <robert.dober@...> 2009/04/11

On Sat, Apr 11, 2009 at 10:44 AM, Eleanor McHugh

[#333657] Re: Goodbye Ruby - Hello Earth — Chad Perrin <perrin@...> 2009/04/12

On Sun, Apr 12, 2009 at 12:53:07AM +0900, Robert Dober wrote:

[#333783] Re: Goodbye Ruby - Hello Earth — Eleanor McHugh <eleanor@...> 2009/04/13

On 12 Apr 2009, at 06:36, Chad Perrin wrote:

[#334172] Re: Goodbye Ruby - Hello Earth — Tom Cloyd <tomcloyd@...> 2009/04/16

Eleanor McHugh wrote:

[#334187] Re: Goodbye Ruby - Hello Earth — Chad Perrin <perrin@...> 2009/04/16

On Fri, Apr 17, 2009 at 05:58:21AM +0900, Tom Cloyd wrote:

[#334191] Re: Goodbye Ruby - Hello Earth — Todd Benson <caduceass@...> 2009/04/17

On Thu, Apr 16, 2009 at 6:23 PM, Chad Perrin <perrin@apotheon.com> wrote:

[#334284] Re: Goodbye Ruby - Hello Earth — "Phlip" <phlip2005@...> 2009/04/18

> And besides, who are we kidding thinking that the planet needs us?

[#334334] Re: Goodbye Ruby - Hello Earth — "Phlip" <phlip2005@...> 2009/04/18

> Now, do I believe the earth's climate is changing? Absolutely. It has

[#333521] how do you manage your gems' gemspecs? — ghorner <gabriel.horner@...>

Hi,

15 messages 2009/04/10

[#333546] Python on LLVM — Daniel Berger <djberg96@...>

Python on LLVM. Thought it might be interesting to some folks here:

17 messages 2009/04/10

[#333607] a few thoughts for ruby... — Roger Pack <rogerpack2005@...>

Thought I'd pass these thoughts by the readers here before sending them

23 messages 2009/04/11

[#333624] Can Ruby stay ahead ? — Suresh Kk <sureshkkgvr@...>

Will Ruby find it difficult to stay in the first 10 languages list

27 messages 2009/04/11
[#333636] Re: Can Ruby stay ahead ? — Charles Oliver Nutter <charles.nutter@...> 2009/04/11

To be honest, I think the most important thing Rubyists could do to help

[#333707] newbie confusion and dejection — Reg <reg@...>

Over the years I have taught myself to program in C, C++, and VB to

14 messages 2009/04/13

[#333736] Ruby vs. Groovy: your perspective — Diego Virasoro <Diego.Virasoro@...>

Hello,

45 messages 2009/04/13
[#333789] Re: Ruby vs. Groovy: your perspective — Eleanor McHugh <eleanor@...> 2009/04/13

On 13 Apr 2009, at 12:35, Diego Virasoro wrote:

[#333803] Re: Ruby vs. Groovy: your perspective — Charles Oliver Nutter <charles.nutter@...> 2009/04/13

Eleanor McHugh wrote:

[#333833] Re: Ruby vs. Groovy: your perspective — James Britt <james.britt@...> 2009/04/14

Charles Oliver Nutter wrote:

[#333742] connecting to Oracle using OCI8 and DBI — Peter Bailey <pbailey@...>

Hi,

12 messages 2009/04/13

[#333867] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...>

Hi folks,

30 messages 2009/04/14
[#333885] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — James Gray <james@...> 2009/04/14

On Apr 14, 2009, at 8:14 AM, Gregory Brown wrote:

[#333894] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/14

On Tue, Apr 14, 2009 at 12:24 PM, James Gray <james@grayproductions.net> wr=

[#333899] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Chuck Remes <cremes.devlist@...> 2009/04/14

[#333900] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/14

On Tue, Apr 14, 2009 at 1:44 PM, Chuck Remes <cremes.devlist@mac.com> wrote:

[#333901] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Ben Lovell <benjamin.lovell@...> 2009/04/14

On Tue, Apr 14, 2009 at 6:53 PM, Gregory Brown <gregory.t.brown@gmail.com>wrote:

[#333904] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Tony Arcieri <tony@...> 2009/04/14

On Tue, Apr 14, 2009 at 12:07 PM, Ben Lovell <benjamin.lovell@gmail.com>wrote:

[#333912] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/14

On Tue, Apr 14, 2009 at 2:32 PM, Tony Arcieri <tony@medioh.com> wrote:

[#334011] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Michael Fellinger <m.fellinger@...> 2009/04/15

On Wed, 15 Apr 2009 04:48:42 +0900

[#334014] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/15

On Wed, Apr 15, 2009 at 11:16 AM, Michael Fellinger

[#334020] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Robert Klemme <shortcutter@...> 2009/04/15

On 15.04.2009 17:46, Gregory Brown wrote:

[#334086] Re: [ANN] The "Ruby Best Practices" Collaborative Blog — Gregory Brown <gregory.t.brown@...> 2009/04/16

On Wed, Apr 15, 2009 at 12:35 PM, Robert Klemme

[#333981] Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...>

Hello everybody !

23 messages 2009/04/15
[#334010] Re: Install a Windows server made with Ruby — Roger Pack <rogerpack2005@...> 2009/04/15

[#334013] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/15

Roger Pack wrote:

[#334426] Re: Install a Windows server made with Ruby — Roger Pack <rogerpack2005@...> 2009/04/20

Alexandre Stehlin wrote:

[#334430] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/20

Roger Pack wrote:

[#334465] Re: Install a Windows server made with Ruby — Roger Pack <rogerpack2005@...> 2009/04/20

[#334469] Re: Install a Windows server made with Ruby — Glen Holcomb <damnbigman@...> 2009/04/20

On Mon, Apr 20, 2009 at 7:49 AM, Roger Pack <rogerpack2005@gmail.com> wrote=

[#334631] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/22

Glen Holcomb wrote:

[#334640] Re: Install a Windows server made with Ruby — Roger Pack <rogerpack2005@...> 2009/04/22

[#334644] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/22

Ok, here's what I got :

[#334648] Re: Install a Windows server made with Ruby — Alexandre Stehlin <alexandre.stehlin@...> 2009/04/22

Alexandre Stehlin wrote:

[#333993] reformatting a text file that has some binary in it — Adam Akhtar <adamtemporary@...>

I have never worked with binary before and after trying to solve this

20 messages 2009/04/15
[#334768] Re: reformatting a text file that has some binary in it — "t3ch.dude" <t3ch.dude@...> 2009/04/23

On Apr 23, 5:05=A0am, Adam Akhtar <adamtempor...@gmail.com> wrote:

[#334834] Re: reformatting a text file that has some binary in it — Adam Akhtar <adamtemporary@...> 2009/04/23

ahh should have thought about that. here is a souce file

[#334063] http://rubypan.org/ — Aaron Patterson <aaron@...>

http://rubypan.org/ version 1.0.0 has been released!

16 messages 2009/04/16

[#334194] Localmemcache-0.3.0: A persistent key-value database based on mmap()'ed shared memory — "Sven C. Koehler" <schween@...>

Hi, Localmemcache-0.3.0 is ready! Persistence is officially supported

9 messages 2009/04/17

[#334272] Junctions for Ruby1.9 (Lab419::functional-0.1.2) — Robert Dober <robert.dober@...>

Hi list

14 messages 2009/04/17

[#334370] ruby1.9 and the retry keyword — Yoann Guillot <john-rubytalk@...>

Hi

12 messages 2009/04/19

[#334479] Polymorphism — Michael Satterwhite <michael@...>

As much as I like Ruby, I do miss the polymorphic behavior of routines

14 messages 2009/04/20
[#334480] Re: Polymorphism — Phlip <phlip2005@...> 2009/04/20

Michael Satterwhite wrote:

[#334510] directory watcher, trying to match filename to directory name. — Brian Wallace <draygen80@...>

Hi All,

12 messages 2009/04/21
[#334515] Re: directory watcher, trying to match filename to directory name. — David Gaya <david.gaya@...> 2009/04/21

> dw =3D DirectoryWatcher.new "#{@dirwatch}", :interval =3D> 5, :glob =3D> =

[#334524] Re: directory watcher, trying to match filename to directory name. — Brian Wallace <draygen80@...> 2009/04/21

Thanks David,

[#334537] Re: directory watcher, trying to match filename to directory name. — Tim Pease <tim.pease@...> 2009/04/21

On Tue, Apr 21, 2009 at 6:51 AM, Brian Wallace <draygen80@gmail.com> wrote:

[#334529] Ruby or JRuby — Martin L'ecuyer <martin@...>

Hi i'm new here and new with Ruby. I just start to learn Ruby and Ruby

19 messages 2009/04/21
[#334531] Re: Ruby or JRuby — James Herdman <james.herdman@...> 2009/04/21

Hi Martin.

[#334532] Re: Ruby or JRuby — Robert Dober <robert.dober@...> 2009/04/21

On Tue, Apr 21, 2009 at 4:39 PM, James Herdman <james.herdman@gmail.com> wr=

[#334696] Re: Ruby or JRuby — David Masover <ninja@...> 2009/04/22

On Tuesday 21 April 2009 09:48:47 Robert Dober wrote:

[#334710] Re: Ruby or JRuby — Robert Dober <robert.dober@...> 2009/04/22

On Wed, Apr 22, 2009 at 10:43 PM, David Masover <ninja@slaphack.com> wrote:

[#334551] Is there a better way to do this? — Paul Mckibbin <pmckibbin@...>

I recently had code which needed to work with the same structure twice,

11 messages 2009/04/21

[#334577] Can't install hpricot gem — Boris Barroso <boriscyber@...>

I can't install hpricot gem on CentOS 5, you can check the error message

13 messages 2009/04/21

[#334711] Diamondback Ruby - Static Typing for Ruby — Mike Furr <furr@...>

16 messages 2009/04/22

[#334826] Is there a better way of doing this — Damjan Rems <d_rems@...>

I have three classes.

17 messages 2009/04/23

[#334944] Digits of Pi (#202) — Daniel Moore <yahivin@...>

-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=

26 messages 2009/04/24
[#334948] Re: [QUIZ] Digits of Pi (#202) — Joel VanderWerf <vjoel@...> 2009/04/24

Daniel Moore wrote:

[#334986] Methods and blocks - not that clear when blocks passed into — Steven Taylor <staylor@...>

Coming from other programming languages, notably Basic based, a little

10 messages 2009/04/25

[#335047] Using method missing to create getters and setters — Tim Conner <crofty_james@...>

Hi,

10 messages 2009/04/26

[#335060] How to parse a "line"? — Martin Sharon <huangshuo.9@...>

Hi there:

25 messages 2009/04/26
[#335061] Re: How to parse a "line"? — James Gray <james@...> 2009/04/26

On Apr 26, 2009, at 3:48 PM, Martin Sharon wrote:

[#335062] Re: How to parse a "line"? — Robert Dober <robert.dober@...> 2009/04/26

On Sun, Apr 26, 2009 at 10:56 PM, James Gray <james@grayproductions.net> wrote:

[#335069] Re: How to parse a "line"? — Todd Benson <caduceass@...> 2009/04/26

On Sun, Apr 26, 2009 at 4:11 PM, Robert Dober <robert.dober@gmail.com> wrote:

[#335070] Re: How to parse a "line"? — Todd Benson <caduceass@...> 2009/04/26

On Sun, Apr 26, 2009 at 5:55 PM, Todd Benson <caduceass@gmail.com> wrote:

[#335071] Re: How to parse a "line"? — Martin Sharon <huangshuo.9@...> 2009/04/27

Thank you Todd, but the number of the keywords are dynamic.

[#335085] Re: How to parse a "line"? — Todd Benson <caduceass@...> 2009/04/27

On Sun, Apr 26, 2009 at 7:25 PM, Martin Sharon <huangshuo.9@gmail.com> wrote:

[#335068] Block Style — James Gray <james@...>

I hate to be the guy to start another { =85 } vs. do =85 end thread, but =

16 messages 2009/04/26

[#335151] Gui library suggestion based on my needs? — Pito Salas <rps@...>

Any recommendation on which 'gui' package I should use to build a ruby

14 messages 2009/04/27

[#335217] Why does attr_accessor in module require 'self.'? — Brian Hartin <brian.hartin@...>

Hi there,

14 messages 2009/04/27

[#335301] Detecting -0.0 — "Thomas B." <tpreal@...>

Hello.

19 messages 2009/04/28

[#335308] Random Access using IO#pos in code blocks — Arun Kumar <arun.einstein@...>

Hello everyone,

14 messages 2009/04/28
[#335369] Re: Random Access using IO#pos in code blocks — Brian Candler <b.candler@...> 2009/04/29

Arun Kumar wrote:

[#335331] New to Ruby, making a program from a disabled friend — Hank Quinlan <tjmaser@...>

Hi. I am only learning Ruby to help my friend out, and am completely new

15 messages 2009/04/29

[#335334] Issue with regexp pattern matcher withing String#gsub — Craig Jolicoeur <cpjolicoeur@...>

I'm having a strange issue I can't wrap my head around. I've posted the

10 messages 2009/04/29

[#335466] Read and re-write file with one open? — Adam Bender <abender@...>

I would like to write a Ruby script that opens a text file, performs a gsub

19 messages 2009/04/30

[#335532] setting up cygwin on windows or linux it? — Adam Akhtar <adamtemporary@...>

Due to some gems not working for windows im considering either

19 messages 2009/04/30
[#335542] Re: setting up cygwin on windows or linux it? — Hassan Schroeder <hassan.schroeder@...> 2009/04/30

On Thu, Apr 30, 2009 at 5:28 AM, Adam Akhtar <adamtemporary@gmail.com> wrote:

[#335563] Re: setting up cygwin on windows or linux it? — Aleksandr Levchuk <alevchuk@...> 2009/04/30

Usually virtualization (VMWare, etc.) is too slow to use. I would

Re: a few thoughts for ruby...

From: Colin Bartlett <colinb2r@...>
Date: 2009-04-11 20:35:09 UTC
List: ruby-talk #333642
>> Roger Pack
>>
>> Thought I'd pass these thoughts by the readers here before sending them
>> to core.  They're my current wish list :)
>>
>> 1) add an Object#in? method to complement the existing Array#include?

> Joel VanderWerf
>
> It's not really symmetrical. Array has an #include? method because it is
> a collection. Object has #in? because it is--what? A potential member of
> a collection?

> Robert Klemme
>
> I don't see the benefit but I'm also not strongly against.  I do see
> Joel's point about the reversion.  Basically it is strange that every
> object should be able to answer a question that only the collection can
> answer.  Plus, you can easily add it yourself if you need it.

Sometimes the best (or better) usage depends on the context.
For example, on some occasions we use:  Integer === object
and on other occasions we use:          object.kind_of?( Integer )
So I'm not against this on principle, and for me the question is
what is the balance between not adding things unless we need to
and does this make things easier in a significant number of cases.
I don't know the answer!


>> Roger Pack
>> 4) (this one's controversial) remove the extra # for code in strings
>> (i.e. "string#{code}") -> "string{code}" less typing.

I'm not in favour, for Robert Klemme's reasons.


>>> Roger Pack
>>>
>>> 5) add a BigDecimal(float) method.
>>>  -> BigDecimal.new("%f" % float)

>> Robert Klemme
>>
>> Seems reasonable at first sight but the absence might have a reason.
>> For example, by making the conversion to String explicit it is more
>> obvious that float and BigDecimal are not really compatible.

> Roger Pack
>
> Yeah I wonder that myself. I was just hoping to make it easier to use
> BigDecimal, since Floats are so imprecise to use for decimal numbers :)

Then probably best to start with BigDecimal and keep using it?
We can always use  BD = BigDecimal ; BD.new( "123.456" )
and I seem to recall that there's a way to assign a method to a variable
which could reduce this to BD( "123.456" ). I think it's important
to normally use strings to get BigDecimal values to avoid precision errors.

Robert Klemme makes a good point: Float has less precision than BigDecimal
and in general I think that you should be *very* wary about converting
from lower precision to higher precision - at least not without being
fully aware of what you are doing - because later on you may be mislead
into thinking that your calculation is more accurate than it actually is.
(See "Here's one I made earlier" below.)

You can't gain precision by such a conversion, which is why my start
position is not to do it. That said, converting Float to BigDecimal
may sometimes be useful when it can prevent further loss of precision.
For example, ( float_a - float_b ) can reduce the accuracy drastically,
and conversion to BigDecimal might be useful there.
 ( Caveat: Numerical Analysis - study of ... - can be extremely tricky,
   and I only know enough about it to know that:
   1. I don't understand it sufficiently to make definitive statements.
   2. In my own stuff I probably ignore it more than I should. )

So I am against easy conversion by using something like BigDecimal( float ).
I think any standard conversion method from Float to BigDecimal
should be relatively ugly and messy. I did tbink of suggesting a rather long
method name, maybe BigDecimal.do_you_really_want_to_convert_this_float(fnum)
but someone can always alias that to a much shorter name.

If you  require "bigdecimal/util"  this does, amongst other things:
# BigDecimal utility library. ... The following methods are provided
# to convert other types to BigDecimals: ...
class Float < Numeric
  def to_d
    BigDecimal(self.to_s)
  end
end

So you can require that library, or just use  BigDecimal( float.to_s ),
I think  BigDecimal( float.to_s )  satisfies my general thought here
that whatever the conversion method used is, it shouldn't be so simple
that you can use it without being in some way being reminded
that what you are doing might not be a good idea.
So making it sort of ugly fits in with that.
(In fact, I'm not sure that having a Float#to_d method is a good idea.)

Doing a quick bit of testing suggested that using  "%f" % float
might be better than using float.to_s because in some cases
the former preserves information that is actually in the float
which the latter uses. In fact, I was going to suggest you propose
to use  "%f" % self  in Float#to_d instead of  self.to_s.
But after some more thought and a bit of testing, I found that
for me in IRB  "%f" % float  only gives results to 6 decimal places
but  float.to_s  seems to give results to 14 or 15 significant figures
so overall using  float.to_s  for the conversion seems better.

If we want a BigDecimal method (and in view of  BigDecimal( float.to_s )
I don't think we do - but  BigDecimal( float.to_s )  should perhaps
be mentioned prominently in BigDecimal documentation)
how about something like (not tested):
  def BigDecimal.from_f( f )
    if f.kind_of?( Float ) then BigDecimal( f.to_s )
    else raise "BigDecimal.from_f: argument must be a Float"
    end
  end

An argument for this is that by providing it you give a reasonably
simple standard way to do it which might reduce potentially
problematic "build your own" solutions.
(I'm not against "build your own" in principle: at the least
 it can be a useful way to find out how things work,
 and it may result in an improvement, and as long as it's
 your own time and your own decision to do it, why not?
 But where there are hidden pitfalls, a reliable and
 reasonably easy to use solution is a good idea.)


***** For those who want to know a bit more *****

*** Here's one I made earlier. ***

(Really! Two days ago, in fact. For those not in the UK the reference
 is to a long-running BBC television programme for children:
   http://en.wikipedia.org/wiki/Blue_peter
   ... The show is also famous for its "makes", which are demonstrations
   of how to construct a useful object or prepare food. These have given rise
   to the oft-used phrase "Here's one I made earlier", as presenters bring out
   a perfect and completed version of the object they are making. ...
 Well, one thing we try to do in Ruby is make (almost) perfect objects! )

I'm looking (for my own purposes) at the various Numeric classes,
and I think it's useful to consider them in terms of precision
potentially being lost on conversion and how we should cope with that.

(I'm using Microsoft Windows Vista (*1): if the behaviour shown doesn't work,
 just increase n until it does! Admittedly this uses Integer not BigDecimal,
 but it shows the potential problems if precision is lost.)

irb

n = 53
i = 2 ** n           #=>  9007199254740992
ii = i + 1           #=>  9007199254740993
f = Float( i )       #=> 9.00719925474099e+015
ff = Float( ii )     #=> 9.00719925474099e+015
iii = Integer( ff )  #=>  9007199254740992
i  == ii    #=> false
i  == f     #=> true
ii == f     #=> true
f  == ff    #=> true
i  <=> ii   #=> -1
i  <=> f    #=> 0
ii <=> f    #=> 0

Colin Bartlett

(*1) Question: Why do you like Linux and BSD Unix so much?
               You've never used either of them.
     Answer:   No, but I have used Microsoft Windows.
with apologies to Karl Kraus http://en.wikipedia.org/wiki/Karl_Kraus

In This Thread