[#358392] Increase significant digits in Float — Jason Lillywhite <jason.lillywhite@...>

If I want to increase my significant digits beyond 15 in a result of a

12 messages 2010/03/02

[#358431] A gem for handling temporary file(s)? — Albert Schlef <albertschlef@...>

I'm writing a program that needs to generate two or three temporary

21 messages 2010/03/03
[#358432] Re: A gem for handling temporary file(s)? — Paul Harrington <xenogenesis@...> 2010/03/03

Albert Schlef wrote:

[#358443] Re: A gem for handling temporary file(s)? — Albert Schlef <albertschlef@...> 2010/03/03

Paul Harrington wrote:

[#358486] Re: A gem for handling temporary file(s)? — Caleb Clausen <vikkous@...> 2010/03/03

On 3/2/10, Albert Schlef <albertschlef@gmail.com> wrote:

[#358485] Test::Unit::Omission - Unable to omit tests — Champak Ch <champaka@...>

I am trying to omit some tests while using the test unit framework. My

12 messages 2010/03/03

[#358551] Shared hosting recommendation? — Rafael Vega <email.rafa@...>

Hello!

10 messages 2010/03/04

[#358559] Limit number of concurrent running threads in pool — Joe Martin <jm202@...>

Hi

14 messages 2010/03/04

[#358576] A good portable text editor/IDE for Ruby? — Reiichi Tyrael <xxreiichixx@...>

I am searching for a good portable text editor or IDE for Ruby to use on

19 messages 2010/03/05

[#358586] Base-64 encoding--Just for the fun of it! — "Aaron D. Gifford" <astounding@...>

Yes, there's always:

10 messages 2010/03/05

[#358611] On what of these books is better to start to study Ruby? — Vlad Gerasimov <refermaker@...>

I have 3 books:

12 messages 2010/03/05

[#358634] Conditional keys in hash - out of the box? — "Sven S." <svoop@...>

Hi

12 messages 2010/03/05

[#358661] Why no TextMate for Linux? — thunk <gmkoller@...>

I spent some happy development time in "VisualAge" for Smalltalk +

42 messages 2010/03/06

[#358702] win32console 1.3.0.beta2 Released — Luis Lavena <luislavena@...>

win32console version 1.3.0.beta2 has been released!

17 messages 2010/03/07

[#358757] Shortest code — Prasanth Ravi <dare.take@...>

hi i'm a newbie in ruby and was test out some interesting problems in

18 messages 2010/03/08

[#358885] reading an UTF-8 encoded file — unbewusst.sein@... (Une B騅ue)

13 messages 2010/03/10

[#359008] Dir.glob problem — David Vlad <cluny_gisslaren@...>

In the program Im making I need to read some wma files into a variable

21 messages 2010/03/12

[#359031] Newbie Help : Object — Jerome David Sallinger <imran.nazir@...>

Hello,

14 messages 2010/03/13

[#359090] Overriding new? — Andrea Dallera <andrea@...>

Hi everybody,

19 messages 2010/03/15
[#359091] Re: Overriding new? — Chuck Remes <cremes.devlist@...> 2010/03/15

[#359093] Re: Overriding new? — Andrea Dallera <andrea@...> 2010/03/15

Hei Chuck,

[#359130] Recommended way to install Rubygems — Leslie Viljoen <leslieviljoen@...>

Hi!

64 messages 2010/03/16
[#359175] Re: Recommended way to install Rubygems — Eric Hodel <drbrain@...7.net> 2010/03/17

On Mar 16, 2010, at 03:22, Leslie Viljoen wrote:

[#359176] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/17

(Please Cc me when replying, I don't follow ruby-talk@ closely enough to

[#359183] Re: Recommended way to install Rubygems — Nick Brown <nick@...> 2010/03/18

Lucas: Thanks for maintaining the Ruby package in Ubuntu!

[#359187] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/18

On 18/03/10 at 13:36 +0900, Nick Brown wrote:

[#359200] Re: Recommended way to install Rubygems — Nick Brown <nick@...> 2010/03/18

Lucas Nussbaum wrote:

[#359204] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/18

On 18/03/10 at 23:05 +0900, Nick Brown wrote:

[#359210] Re: Recommended way to install Rubygems — Rick DeNatale <rick.denatale@...> 2010/03/18

On Thu, Mar 18, 2010 at 10:21 AM, Lucas Nussbaum

[#359215] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/18

On 18/03/10 at 23:45 +0900, Rick DeNatale wrote:

[#359230] Re: Recommended way to install Rubygems — Aldric Giacomoni <aldric@...> 2010/03/18

Lucas Nussbaum wrote:

[#359233] Re: Recommended way to install Rubygems — Lucas Nussbaum <lucas@...> 2010/03/18

On 19/03/10 at 02:49 +0900, Aldric Giacomoni wrote:

[#359171] Replace Text at Specific Positions Across Files — Shiny Hydra <slotriof@...>

Hello everyone,

12 messages 2010/03/17
[#359192] Re: Replace Text at Specific Positions Across Files — Robert Klemme <shortcutter@...> 2010/03/18

2010/3/17 Shiny Hydra <slotriof@guerrillamailblock.com>:

[#359198] Re: Replace Text at Specific Positions Across Files — Shiny Hydra <slotriof@...> 2010/03/18

> So your file has fixed width records? This is important to know,

[#359255] Grouping elements of an array — Steve Wilhelm <steve@...831.com>

I have an array of records that contain timestamps at random intervals.

24 messages 2010/03/18

[#359354] Living with a Swarm of Boids - A report from the front — thunk <gmkoller@...>

Hi,

15 messages 2010/03/20

[#359388] A plugin system using extend — Jean-denis Vauguet <jd@...>

Hi.

17 messages 2010/03/21
[#359394] Re: A plugin system using extend — Josh Cheek <josh.cheek@...> 2010/03/21

On Sat, Mar 20, 2010 at 9:46 PM, Jean-denis Vauguet <jd@vauguet.fr> wrote:

[#359398] Re: A plugin system using extend — Jean-denis Vauguet <jd@...> 2010/03/21

Thank you Josh. Actually I've already tested what you wrote and that's

[#359402] Re: A plugin system using extend — Jean-denis Vauguet <jd@...> 2010/03/21

Another idea I had is the following:

[#359410] Re: A plugin system using extend — James Edward Gray II <james@...> 2010/03/21

On Mar 21, 2010, at 2:13 AM, Jean-denis Vauguet wrote:

[#359420] Reading contents of all files from a Directory — Hawksury Gear <blackhawk_932@...>

Hello,

23 messages 2010/03/21
[#359422] Re: Reading contents of all files from a Directory — Jonathan Nielsen <jonathan@...> 2010/03/21

> I am trying to "Read Content" of all the files from a Directory. So far

[#359423] Re: Reading contents of all files from a Directory — Jonathan Nielsen <jonathan@...> 2010/03/21

> arr =3D Dir.open("K:/test").entries

[#359464] Re: Reading contents of all files from a Directory — Robert Klemme <shortcutter@...> 2010/03/22

2010/3/21 Jonathan Nielsen <jonathan@jmnet.us>:

[#360368] Re: Reading contents of all files from a Directory — Hawksury Gear <blackhawk_932@...> 2010/04/04

> If it is only for output purposes, we can actually do it in one line:

[#360370] Re: Reading contents of all files from a Directory — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2010/04/04

On Sun, Apr 4, 2010 at 3:06 PM, Hawksury Gear <blackhawk_932@hotmail.com> w=

[#360373] Re: Reading contents of all files from a Directory — Hawksury Gear <blackhawk_932@...> 2010/04/04

Thanks for replying ,when I am doing

[#360374] Re: Reading contents of all files from a Directory — Hassan Schroeder <hassan.schroeder@...> 2010/04/04

On Sun, Apr 4, 2010 at 8:16 AM, Hawksury Gear <blackhawk_932@hotmail.com> wrote:

[#360375] Re: Reading contents of all files from a Directory — Hawksury Gear <blackhawk_932@...> 2010/04/04

Hassan Schroeder wrote:

[#359662] index of string from beginning of line vs beginning of file — "Jesse B." <jessebos@...>

I am trying to write a basic script to implement "silent comments"

10 messages 2010/03/25
[#359663] Re: index of string from beginning of line vs beginning of file — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2010/03/25

On Thu, Mar 25, 2010 at 5:19 PM, Jesse B. <jessebos@aol.com> wrote:

[#359684] Ruby Summer of Code 2010 — Jeremy Kemper <jeremy@...>

Fellow Rubyists, I'm proud to announce the first annual Ruby Summer of Code.

20 messages 2010/03/26
[#359985] Re: [ANN] Ruby Summer of Code 2010 — Roger Pack <rogerpack2005@...> 2010/03/30

Jeremy Kemper wrote:

[#359697] Ruby and user documentation — Michel Demazure <michel@...>

Hi all,

20 messages 2010/03/26

[#359749] Boid writeup idea — thunk <gmkoller@...>

30 messages 2010/03/26

[#359909] return number of spaces at the beginning of a line — "Jesse B." <jessebos@...>

How would I find the number of spaces at the beginning of a line before

28 messages 2010/03/30
[#359925] Re: return number of spaces at the beginning of a line — Josh Cheek <josh.cheek@...> 2010/03/30

On Mon, Mar 29, 2010 at 8:41 PM, Jesse B. <jessebos@aol.com> wrote:

[#359941] Re: return number of spaces at the beginning of a line — Robert Klemme <shortcutter@...> 2010/03/30

2010/3/30 Josh Cheek <josh.cheek@gmail.com>:

[#359945] Re: return number of spaces at the beginning of a line — "Jesse B." <jessebos@...> 2010/03/30

This second post with the "spaces only" fix seems to meet all the needs

[#359961] Re: return number of spaces at the beginning of a line — Robert Klemme <shortcutter@...> 2010/03/30

2010/3/30 Jesse B. <jessebos@aol.com>:

[#360011] RubyDictionary - First Try — Max Schmidt <max.schmidt.privat@...>

Hello folks,

12 messages 2010/03/30
[#360035] Re: RubyDictionary - First Try — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2010/03/31

On Wed, Mar 31, 2010 at 12:40 AM, Max Schmidt

[#360033] Playing Games with "Ruids" — thunk <gmkoller@...>

46 messages 2010/03/31

Re: RubyDictionary - First Try

From: Jes俍 Gabriel y Gal疣 <jgabrielygalan@...>
Date: 2010-03-31 10:11:44 UTC
List: ruby-talk #360047
On Wed, Mar 31, 2010 at 11:55 AM, Max Schmidt
<max.schmidt.privat@googlemail.com> wrote:
> Hello and thank you for this fast widespread answer!
>
>>Your implementation allows to insert two pairs with the same key
> This totally was my intention, because one word can be translated in
> many different ways. Associative Arrays are called "Hashs" in Ruby,
> aren't they?

Yes, but the term Dictionary is a common technical term with that
meaning, that's why I was asking...

>
> 1 -
>>def initialize(entries=3Dnil)
>> =A0 =A0@entries =3D entries || [] =A0 # or Array.new if you prefer
>>end
> Nice idea, I never would consider a boolean operator as a expression,
> which returns anything else than "true" or "false"
>
> 2 -
>>def []=3D(word1, word2)
> Don't you think that this definition is rather confusing, if Dictionary
> is NOT an associative array? I have to admit that I am still not
> familiarized with these method-like operators...

Yes, you are right. That syntactic sugar makes more sense when it's an
associative array, not in your case.

> 3 -
>>Why don't you allow one letter words?
> Because strings with one letter aren't any words, they are characters.
> My aim was to develop a dictionary where you can organize "real-life"
> words

"a" is a word :-)

>
>>if the string doesn't match you get a
>
>>irb(main):160:0> d.insert_words "a", "b"
>>NoMethodError: undefined method `[]' for nil:NilClass
>> =A0from (irb):94:in `is_word?'
>
> Ok, fixed it like this:
>
>>match =3D word.match(/[a-zA-Z]{2,15}/);
>>if (match!=3Dnil && match[0].length =3D=3D word.length) then true
>
>>def self.is_word? word
>> =A0word.match(/\A[:alpha:][:alpha:]+\z/) #you can remove the first
>>[:alpha:] to allow 1-letter words
>>end
>
> I wanted to limit the word's length to 15 as you can see in my regular
> expression. Are the "\A" (start position) and "\z" (end position)
> necessary?

It's a way of saying that the full string should match your
restrictions. It avoids having to check that the match is equal to the
length of the original string:

def self.is_word? word
  word.match(/\A[:alpha]{2,15}\z/)
end

should do what you want.

> 5 -
>
>> this way, even if the arrays have different size, you store as much as
>> you can. If you still want the check you can add it.
>
> Hmm, I want the length-check remain.
>
>> def insert_array(words1, words2)
>> =A0 words1.zip(words2).each {|first,second| insert_words(first,second)
>> if first && second}
>> end
>
> Why do you prefer to a implementation which produces a temporaly array?
>
> 6 -
>
> 7 -
>
>> This one doesn't make sense for the public interface of a dictionary.
>> If you implement remove as above, you don't need it anymore.
>
> This was meant to be a time-saver. You can output the Dictionary by
> typing "o/output", find the index of the entry you want to delete and
> then apply it to the "r/remove" - command
>
> 8 -
>
> Very cool!
>
> 9 -
>
>> Why do you need the index as a return value?
> for "remove" - I first searched for the word pair and if found I removed
> the pair by calling remove_at(found_index)
>
>> @entries.find {|entry| entry =3D=3D [word1,word2]}
> I slowly realize that I will have to clearly go through the Array
> methods this afternoon.
>
> 10 -
>
>>@entries.each_with_index {|entry, i| s << sprintf("%3d %15s |
>> %15s\n", i, entry.word1 , entry.word2)
>
> This means it is actually never recommended to use
>>@entries.length.times {|i| ... }
> to iterate through an array?

It's usually not recommended. If you really, really need the index
each_with_index handles that.

>
> DictionaryEntry
>
> 11 -
>> you might want to dup the words to
> avoid aliasing
> Do you mean to avoid exceptions when the words are frozen? If yes, I
> would throw an Exception if either of the two words is frozen.

No, what I mean is that the client can modify the String object after
inserting it in the dictionary:

d =3D Dictionary.new
w1 =3D "hello"
w2 =3D "world"
d.insert_words(w1,w2)
w1 << "something crazy which maybe should be in the dictionary at this poin=
t"

The string referenced by w1 is modified after being inserted. With
your solution, you store the same object, and so the dictionary is
modified by this external action.

The frozen check is just an optimization, because if the string is
frozen it's not going to be modified by the client, and so you are
safe just using it.

> 12 -
>>Enumerable doesn't provide the method []
> Ok, I was convinced that Enumerables behave like Arrays
>
>>I'm not sure you want to keep the equality comparison with an
>>Enumerable
> ... then I should replace the Enumberable with i.e. an Array like this?

I don't know, depends on what your use case is. If it's just for
convenience, I think you should drop it, because it's giving those
objects a behaviour that they shouldn't have.

>>case other
>> when Array
>> =A0@word1 =3D=3D other[0] && @word2 =3D=3D other[1]
>> when DictionaryEntry
>> =A0@word1 =3D=3D other.word1 && @word2 =3D=3D other.word2
>> else
>> =A0false
>>end

Another idea: if want to see the dictionary as a set of things, a
common thing is to include Enumerable and provide an each method, so
that the clients of the dictionary can use the cool methods Enumerable
provides. In your case:

class Dictionary
include Enumerable

        def each (&blk)
                @entries.each &blk
        end
end

that way people could do:

d =3D Dictionary.new
#populate it somehow
d.find {|entry| entry.word1 =3D=3D "hello"}

and all the rest of the cool stuff Enumerable provides.

Jesus.

In This Thread