[#372953] Strange whitespace parsing behavior on Ruby 1.8.7 (patchlevel 249/302) — Ehsanul Hoque <ehsanul_g3@...>

13 messages 2010/11/02
[#372956] Re: Strange whitespace parsing behavior on Ruby 1.8.7 (patchlevel 249/302) — Robert Klemme <shortcutter@...> 2010/11/02

On Tue, Nov 2, 2010 at 5:49 AM, Ehsanul Hoque <ehsanul_g3@hotmail.com> wrot=

[#372978] Re: Strange whitespace parsing behavior on Ruby 1.8.7 (patchlevel 249/302) — Ehsanul Hoque <ehsanul_g3@...> 2010/11/02

[#373013] Regular Expression — Dv Dasari <dv.mymail@...>

I am trying to write a reqular expression to match a word with my input

22 messages 2010/11/02
[#373016] Re: Regular Expression — Richard Conroy <richard.conroy@...> 2010/11/02

On Tue, Nov 2, 2010 at 9:05 PM, Dv Dasari <dv.mymail@gmail.com> wrote:

[#373018] Re: Regular Expression — Kendall Gifford <zettabyte@...> 2010/11/02

On Tue, Nov 2, 2010 at 3:34 PM, Richard Conroy <richard.conroy@gmail.com> wrote:

[#373049] UTF-8 aware chop for 1.8? — Ammar Ali <ammarabuali@...>

Hello,

12 messages 2010/11/03

[#373070] Ruby Perofrmance — Ruby Me <i_baseet@...>

Hi

21 messages 2010/11/03

[#373097] Ruby vs PHP for the web — Ruby Me <i_baseet@...>

Hi

43 messages 2010/11/04
[#373461] Re: Ruby vs PHP for the web — Charles Calvert <cbciv@...> 2010/11/10

On Wed, 3 Nov 2010 20:49:22 -0500, Ruby Me <i_baseet@hotmail.com>

[#373534] Re: Ruby vs PHP for the web — Mike Stephens <rubfor@...> 2010/11/11

Charles Calvert wrote in post #960599:

[#373563] Re: Ruby vs PHP for the web — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2010/11/12

On Thu, Nov 11, 2010 at 11:50 PM, Mike Stephens <rubfor@recitel.net> wrote:

[#373585] Re: Ruby vs PHP for the web — Josh Cheek <josh.cheek@...> 2010/11/12

2010/11/12 Jes=FAs Gabriel y Gal=E1n <jgabrielygalan@gmail.com>

[#373220] Create a class - ideas — flebber <flebber.crue@...>

15 messages 2010/11/06

[#373248] Code in a class but not in a method -- please explain! — "Bruce F." <brucedfeist@...>

I'm a newcomer to Ruby, and I'm confused about what executable

10 messages 2010/11/07

[#373260] sort_by is not stable ? — Michel Demazure <michel@...>

sort_by is not a stable sorting method (ruby 1.9.2 p0)

22 messages 2010/11/07
[#373262] Re: sort_by is not stable ? — Ammar Ali <ammarabuali@...> 2010/11/07

On Sun, Nov 7, 2010 at 12:22 PM, Michel Demazure <michel@demazure.com> wrot=

[#373264] Re: sort_by is not stable ? — Michel Demazure <michel@...> 2010/11/07

Ammar Ali wrote in post #959889:

[#373265] Re: sort_by is not stable ? — Ammar Ali <ammarabuali@...> 2010/11/07

On Sun, Nov 7, 2010 at 1:15 PM, Michel Demazure <michel@demazure.com> wrote:

[#373266] irb misbehaviour with arrow keys on Windows — Marvin Gülker <sutniuq@...>

Hi there,

10 messages 2010/11/07

[#373352] ruby-pg gem fails to install — Rajinder Yadav <devguy.ca@...>

i built postgres 9.0 from source and i am trying to install ruby-pg

11 messages 2010/11/08

[#373397] Analyzer for errors in code ? — David Unric <dunric29a@...>

Hello,

19 messages 2010/11/09

[#373421] help with code, new to programming — Steve Rees <stevoreesimo@...>

I am new to programming and have been learning Ruby using online

13 messages 2010/11/09

[#373479] ruby ORM — zuerrong <zuerrong@...>

Hello,

64 messages 2010/11/11
[#373480] Re: ruby ORM — Sam Duncan <sduncan@...> 2010/11/11

I've been writing Ruby for three days now. DataMapper seems very good.

[#373607] ORM's - Don't Do It! — Mike Stephens <rubfor@...> 2010/11/12

Sam Duncan wrote in post #960638:

[#373616] Re: ORM's - Don't Do It! — Phillip Gawlowski <cmdjackryan@...> 2010/11/12

On Fri, Nov 12, 2010 at 5:47 PM, Mike Stephens <rubfor@recitel.net> wrote:

[#373634] Re: ORM's - Don't Do It! — Petite Abeille <petite.abeille@...> 2010/11/12

[#373663] Re: ORM's - Don't Do It! — Phillip Gawlowski <cmdjackryan@...> 2010/11/13

On Fri, Nov 12, 2010 at 9:56 PM, Petite Abeille

[#373666] Re: ORM's - Don't Do It! — Mike Stephens <rubfor@...> 2010/11/13

My problem is the mismatch.

[#373676] Re: ORM's - Don't Do It! — Phillip Gawlowski <cmdjackryan@...> 2010/11/13

On Sat, Nov 13, 2010 at 10:54 AM, Mike Stephens <rubfor@recitel.net> wrote:

[#373746] Re: ORM's - Don't Do It! — "Skye Shaw!@#$" <skye.shaw@...> 2010/11/14

On Nov 12, 8:47=A0am, Mike Stephens <rub...@recitel.net> wrote

[#374853] DRM Principle - Don't Repeat Microsoft — Mike Stephens <rubfor@...> 2010/12/03

I was thinking about this last night and it's part of a belief I have

[#373481] what's an object? — "Eva" <eva54321@...>

SSdtIGFsc28gc3dpdGNoaW5nIGZyb20gcGVybCBhbmQgcGhwLgpJJ20gbm90IHN1cmUgaW4gcnVi

55 messages 2010/11/11
[#373482] Re: what's an object? — Alex Stahl <astahl@...5.com> 2010/11/11

Simple answer: everything. Everything is considered an object,

[#373490] Re: what's an object? — "Y. NOBUOKA" <nobuoka@...> 2010/11/11

> Simple answer: everything. Everything is considered an object,

[#373500] Re: what's an object? — Alex Stahl <astahl@...5.com> 2010/11/11

Not that I know the internals of the language well enough to debate the

[#373504] Re: what's an object? — "Y. NOBUOKA" <nobuoka@...> 2010/11/11

> Not that I know the internals of the language well enough to debate the

[#373511] Re: what's an object? — Alex Stahl <astahl@...5.com> 2010/11/11

Fair enough. The link even cites the Ruby spec to indicate that

[#373522] Re: what's an object? — "Y. NOBUOKA" <nobuoka@...> 2010/11/11

Did you recognize the difference between a method and a Method object?

[#373528] Re: what's an object? — Josh Cheek <josh.cheek@...> 2010/11/11

Disclaimer: I seem to be in a crabby mood this morning. I went back over it

[#373569] Re: what's an object? — "Y. NOBUOKA" <nobuoka@...> 2010/11/12

Hi, Josh

[#373571] Re: what's an object? — Josh Cheek <josh.cheek@...> 2010/11/12

On Fri, Nov 12, 2010 at 3:01 AM, Xavier Noria <fxn@hashref.com> wrote:

[#373572] Re: what's an object? — Xavier Noria <fxn@...> 2010/11/12

On Fri, Nov 12, 2010 at 12:25 PM, Josh Cheek <josh.cheek@gmail.com> wrote:

[#373576] Re: what's an object? — Robert Dober <robert.dober@...> 2010/11/12

On Fri, Nov 12, 2010 at 12:38 PM, Xavier Noria <fxn@hashref.com> wrote:

[#373582] Re: what's an object? — Xavier Noria <fxn@...> 2010/11/12

On Fri, Nov 12, 2010 at 1:09 PM, Robert Dober <robert.dober@gmail.com> wrot=

[#373536] Parsing XML with Ruby — jackster the jackle <johnsheahan@...>

I need to hit an https link and pass a username and password in order to

17 messages 2010/11/12
[#373547] Re: Parsing XML with Ruby — jackster the jackle <johnsheahan@...> 2010/11/12

It seems to be working...here is my test code:

[#373539] Scheme's (cond ((assertion) (value))...(else (value))) statement implemented in ruby? — timr <timrandg@...>

Hi Rubyists,

10 messages 2010/11/12

[#373599] help sorting objects by their instance field — Aaron Haas <aaron4osu@...>

I'm trying to figure out how to sort objects in an array by one of their

14 messages 2010/11/12

[#373618] Fast Debugger (Ruby 1.9.2, DevKit 4.5.0, JDK 6u22, NetBeans 6.9.1) — Allan Chin <achin5957@...>

I've been trying to run this configuration in debug mode on my Windows

17 messages 2010/11/12

[#373680] an each/block problem — Paul Roche <prpaulroche@...>

Hi, I want to take the value from an each method and place it in a

12 messages 2010/11/13

[#373722] Mysql::Result .each_hash - unexpected result — Andy Tolle <durexlw.register@...>

Consider the following code:

12 messages 2010/11/14
[#373738] Re: Mysql::Result .each_hash - unexpected result — botp <botpena@...> 2010/11/14

On Sun, Nov 14, 2010 at 5:55 PM, Andy Tolle <durexlw.register@gmail.com> wr=

[#373745] Re: Mysql::Result .each_hash - unexpected result — Andy Tolle <durexlw.register@...> 2010/11/14

botp wrote in post #961345:

[#373773] please help load from txt — Lark Work <lars_werkman@...>

hi i new to this forum and i have a problem a made a script containing a

17 messages 2010/11/15

[#373787] Can't get Ruby programs to work from Command Prompt — Dd Dd <dd25@...>

Hello; I'm having a problem running Ruby programs through the command

10 messages 2010/11/15

[#373852] cool.io 0.9.0: a cool event framework for Ruby (formerly known as Rev) based on libev — Tony Arcieri <tony.arcieri@...>

Github: https://github.com/tarcieri/cool.io

15 messages 2010/11/16
[#374061] Re: [ANN] cool.io 0.9.0: a cool event framework for Ruby (formerly known as Rev) based on libev — Eric Wong <normalperson@...> 2010/11/19

Tony Arcieri <tony.arcieri@medioh.com> wrote:

[#373930] Ruby Not observing DRY principle — flebber <flebber.crue@...>

HI I am hoping you can give me some guidance. I feel I really am

17 messages 2010/11/18

[#373990] Where to start from? — Ruby Me <i_baseet@...>

Hi guys,

16 messages 2010/11/18

[#374001] Ruby Programming — Tridib Bandopadhyay <tridib04@...>

Hello

18 messages 2010/11/18

[#374104] gsub and backslashes — Ralph Shnelvar <ralphs@...32.com>

Consider the string

16 messages 2010/11/20
[#374151] Re: gsub and backslashes — Brian Candler <b.candler@...> 2010/11/21

Ralph Shnelvar wrote in post #962847:

[#374114] Problem regarding regular expression — Stanford Ng <ngkooinam@...>

puts( /^[a-z 0-9]*$/ =~ 'Well hello 123' ) # no match due to ^ and

12 messages 2010/11/21

[#374127] why i can't find my ruby ? — Pen Ttt <myocean135@...>

i installed ruby this way:

18 messages 2010/11/21

[#374210] system() or process.create? — Fengfeng Li <lifengfeng@...>

Hi everyone,

13 messages 2010/11/23

[#374229] Regex negative look-behind bug? — Ruby Nuby <b1st@...>

irb, Ruby 1.9.1

14 messages 2010/11/23

[#374232] Ruby 1.8 vs 1.9 — Peter Pincus <peter.pincus@...>

Hi,

85 messages 2010/11/23
[#374313] Re: Ruby 1.8 vs 1.9 — Jörg W Mittag <JoergWMittag+Ruby@...> 2010/11/25

David Masover wrote:

[#374394] Re: Ruby 1.8 vs 1.9 — David Masover <ninja@...> 2010/11/26

On Wednesday, November 24, 2010 08:40:22 pm J=F6rg W Mittag wrote:

[#374406] Re: Ruby 1.8 vs 1.9 — Phillip Gawlowski <cmdjackryan@...> 2010/11/26

On Fri, Nov 26, 2010 at 1:42 AM, David Masover <ninja@slaphack.com> wrote:

[#374425] Re: Ruby 1.8 vs 1.9 — David Masover <ninja@...> 2010/11/27

On Friday, November 26, 2010 05:51:38 am Phillip Gawlowski wrote:

[#374444] Re: Ruby 1.8 vs 1.9 — Phillip Gawlowski <cmdjackryan@...> 2010/11/27

On Sat, Nov 27, 2010 at 9:04 AM, David Masover <ninja@slaphack.com> wrote:

[#374448] Re: Ruby 1.8 vs 1.9 — David Masover <ninja@...> 2010/11/27

On Saturday, November 27, 2010 11:41:59 am Phillip Gawlowski wrote:

[#374452] Re: Ruby 1.8 vs 1.9 — Phillip Gawlowski <cmdjackryan@...> 2010/11/27

On Sat, Nov 27, 2010 at 7:50 PM, David Masover <ninja@slaphack.com> wrote:

[#374462] Re: Ruby 1.8 vs 1.9 — David Masover <ninja@...> 2010/11/28

On Saturday, November 27, 2010 02:47:12 pm Phillip Gawlowski wrote:

[#374470] Re: Ruby 1.8 vs 1.9 — Phillip Gawlowski <cmdjackryan@...> 2010/11/28

On Sun, Nov 28, 2010 at 1:56 AM, David Masover <ninja@slaphack.com> wrote:

[#374472] Re: Ruby 1.8 vs 1.9 — David Masover <ninja@...> 2010/11/28

On Sunday, November 28, 2010 08:00:18 am Phillip Gawlowski wrote:

[#374475] Re: Ruby 1.8 vs 1.9 — Phillip Gawlowski <cmdjackryan@...> 2010/11/28

On Sun, Nov 28, 2010 at 5:33 PM, David Masover <ninja@slaphack.com> wrote:

[#374488] Re: Ruby 1.8 vs 1.9 — David Masover <ninja@...> 2010/11/28

On Sunday, November 28, 2010 11:19:06 am Phillip Gawlowski wrote:

[#374241] Re: Ruby 1.8 vs 1.9 — Chuck Remes <cremes.devlist@...> 2010/11/23

[#374260] Re: Ruby 1.8 vs 1.9 — Brian Candler <b.candler@...> 2010/11/24

Chuck Remes wrote in post #963430:

[#374264] Re: Ruby 1.8 vs 1.9 — Michael Fellinger <m.fellinger@...> 2010/11/24

On Wed, Nov 24, 2010 at 8:14 PM, Brian Candler <b.candler@pobox.com> wrote:

[#374274] Re: Ruby 1.8 vs 1.9 — Brian Candler <b.candler@...> 2010/11/24

Michael Fellinger wrote in post #963539:

[#374278] Re: Ruby 1.8 vs 1.9 — Phillip Gawlowski <cmdjackryan@...> 2010/11/24

On Wed, Nov 24, 2010 at 4:15 PM, Brian Candler <b.candler@pobox.com> wrote:

[#374281] Re: Ruby 1.8 vs 1.9 — Brian Candler <b.candler@...> 2010/11/24

Phillip Gawlowski wrote in post #963602:

[#374287] Re: Ruby 1.8 vs 1.9 — Phillip Gawlowski <cmdjackryan@...> 2010/11/24

On Wed, Nov 24, 2010 at 5:09 PM, Brian Candler <b.candler@pobox.com> wrote:

[#374293] Re: Ruby 1.8 vs 1.9 — Josh Cheek <josh.cheek@...> 2010/11/24

On Wed, Nov 24, 2010 at 12:20 PM, Phillip Gawlowski <

[#374294] Re: Ruby 1.8 vs 1.9 — Phillip Gawlowski <cmdjackryan@...> 2010/11/24

On Wed, Nov 24, 2010 at 8:02 PM, Josh Cheek <josh.cheek@gmail.com> wrote:

[#374332] Re: Ruby 1.8 vs 1.9 — Robert Klemme <shortcutter@...> 2010/11/25

On Wed, Nov 24, 2010 at 5:09 PM, Brian Candler <b.candler@pobox.com> wrote:

[#374299] Ruby's "More than one way to do things." — Jason Lillywhite <jason.lillywhite@...>

There is one point made about Python vs. Ruby on this site:

23 messages 2010/11/24

[#374431] relative-require v1.0 — "zimbatm ..." <jonas@...>

relative-require.rb

12 messages 2010/11/27

[#374437] How to use Ruby like shell script? — Yu-Hsuan Lai <raincolee@...>

Can I use ruby like my linux shell script(e.x. bash)?(or on the other hand,

21 messages 2010/11/27
[#374446] Re: How to use Ruby like shell script? — James Edward Gray II <james@...> 2010/11/27

On Nov 27, 2010, at 8:51 AM, Yu-Hsuan Lai wrote:

[#374550] ruby on server side — Rajesh Huria <rajesh.huria@...>

Hi,

13 messages 2010/11/29

[#374557] Help sorting an array — Jim Burgess <jack.zelig@...>

Hi,

32 messages 2010/11/29
[#374730] Re: Help sorting an array — Mike Stephens <rubfor@...> 2010/12/01

If you've ever read "Real Programmers don't use Pascal" (see

[#374747] Re: Help sorting an array — Ammar Ali <ammarabuali@...> 2010/12/01

On Wed, Dec 1, 2010 at 8:30 PM, Mike Stephens <rubfor@recitel.net> wrote:

[#374751] Try it and see. — Mike Stephens <rubfor@...> 2010/12/01

Ammar Ali wrote in post #965529:

[#374756] Re: Try it and see. — David Masover <ninja@...> 2010/12/01

On Wednesday, December 01, 2010 03:04:42 pm Mike Stephens wrote:

[#374771] Re: Try it and see. — Mike Stephens <rubfor@...> 2010/12/02

David Masover wrote in post #965565:.

[#374587] RFC Future Ruby hash literal syntax — Michael Kaelbling <michael.kaelbling@...>

REQUEST FOR COMMENTS: Change to future Ruby hash literal syntax

15 messages 2010/11/29

[#374619] installing ncurses and IDE — Nikita Kuznetsov <moog_master@...>

Hi all, I was recently advised to use ncurses in order to do some event

11 messages 2010/11/30

[#374632] 'require' is not recognised — Tara Keane <tararakeane@...>

New to Ruby and trying to run benchmark

14 messages 2010/11/30

Re: Comparing/search struct array

From: Josh Cheek <josh.cheek@...>
Date: 2010-11-08 17:14:06 UTC
List: ruby-talk #373343
2010/11/8 Szabolcs T=C3=B3th <tsz@purzelbaum.hu>

> Hi,
> I have drafted this tiny script, which works almost(!!) fine except that
> every item shows 5x more than it should.
>
>
Hi. I'm not really sure from looking at it. If you can give me an example o=
f
the data you are reading so I could follow its execution, that would make i=
t
a lot easier.


> if File.exists?("report.output")
>  puts "We can work..."
>  else
>    puts "Copy the 'pascpgen.output'to the same folder, please"
>    exit
>  end
>
>
Here, I would say "exit 1", when you just call exit, it exits with a status
code of 0, which is considered to mean that the application executed
correctly. However, we are exiting because there is an error, so you
shouldn't have an exit status of 0.


> # define Class
> class Results <
>  Struct.new(:date, :custo, :invoice, :descr, :type, :money, :ref)
>    def print_csv_record
>      date.length=3D=3D0 ? printf(",") : printf("%s ", date)
>      custo.length=3D=3D0 ? printf(",") : printf("%s ", custo)
>      invoice.length=3D=3D0 ? printf(",") : printf("%s ", invoice)
>      descr.length=3D=3D0 ? printf(",") : printf("%s ", descr)
>      type.length=3D=3D0 ? printf(",") : printf("%s ", type)
>      money.length=3D=3D0 ? printf(",") : printf("%s ", money)
>      ref.length=3D=3D0 ? printf(",") : printf("%s ", ref)
>      printf("\n")
>    end
> end
>
>
Four things on this one.
1) I don't think the object should be responsible for printing itself. I
think it would be better that it returns the csv_record as a String, and
lets whoever is using it decide how they want to deal with it (whatever cod=
e
uses it decides to print)
2) Structs have #each defined on them, which just yields all the members.
This means that rather than manually checking each one for its length, you
could just use the Enumerable methods (in this case, probably map). So I
would probably rewrite it

def csv_record
  map { |value| if value.empty? then ',' else "#{value} " end }.join
end

(note that if you prefer to use C style string patterns, there is also a
sprintf function)

And I might change the name of the method to be "to_csv"

3) The stdlib has a CSV library in it, you might check that out rather than
building your own. (http://ruby-doc.org/stdlib/)

4) I would name the class singular, "Result" rather than "Results" because
each line in your file contains a Result instance, and the collection of
lines I look at as being the results. That is undoubtedly the influence of
Rails, but a few simple conventions like this can make it much easier to
follow and communicate about the code.

# create array
> arr =3D Array.new
> arr2 =3D Array.new
>
>
Here, I would name them based on what they contain, rather than what type
they are. So I would probably rename them to "results" and "queries", which
most Rubyists would immediately identify as a collection of Result and Quer=
y
instances. Then, at the bottom, when iterating over them, instead of naming
the elements p and q, I would name them "result" and "query" to indicate
that this is the current instance of the Result or Query class.

f =3D File.open("report.output", 'r').each {|line|
>  if line =3D~ /MST Revenue/
>
>       # read every line into string
>       str =3D line.chomp!
>       str.length
>
>       date =3D str[20, 5]
>       custo =3D str[28,6]
>       invoice =3D str[48,8]
>       descr =3D str[59,28]
>       type =3D str[112,4]
>       money =3D str[123,11]
>       ref =3D str [36,7]
>
>     r =3D Results.new
>
>     r.date =3D date
>     r.custo =3D custo
>     r.invoice =3D invoice
>     r.descr =3D descr
>     r.type =3D type
>     r.money =3D money
>     r.ref =3D ref
>     arr.push(r)
>     end
>    }
>
>
3 things on this one

1) You use File.open, then iterate on the result there. Unfortunately, that
file object you are iterating over, nothing ever happens with it, so your
file doesn't get closed. Rather than calling #each on the returned object I
would receive the object in a block, then call each on it in there.

Tricky to find this one in the docs, its actually under IO rather than File
http://ruby-doc.org/core/classes/IO.html#M002239 "If the optional code bloc=
k
is given, it will be passed *io* as an argument, and the
IO<http://ruby-doc.org/core/classes/IO.html>object will automatically
be closed when the block terminates." So you can
let File close the file for you (this is considered a best practice, since
it does certain things to ensure this will happen, even if an error is
raised)

File.open 'report.output' do |file|
  file.each do |line|
    ...
  end
end


2) I'm sure plenty of people will disagree with me here, but rather than
putting the entire contents nested under an if statement, I strongly prefer
to have the if statement just jump to the next iteration. Then everything i=
s
less indented, which for me, makes it much easier to read and understand.

So rather than
if line =3D~ /MST Revenue/
 ...
end

I would do
next unless line =3D~ /MST Revenue/


3) The constructor for a struct takes the members you created it with. So
you don't have to individually assign each member.

r =3D Results.new
r.date =3D date
r.custo =3D custo
r.invoice =3D invoice
r.descr =3D descr
r.type =3D type
r.money =3D money
r.ref =3D ref

could be rewritten as

r =3D Results.new date , custo , invoice , descr , type , money , ref



>  arr.each { |p| p[:custo]
>    arr2.each { |q| q[:custo]
>    if p[:custo] =3D=3D q[:custo]
>
>      q.print_csv_record2
>      p.print_csv_record
>
>  end
>  }
>  }
>
>
Generally, people use do ... end for multiline blocks, and reserver { ... }
for single-line blocks. Not a hard rule, but is easier for most people :)

Here, I realize that if you are coming from a C background, where there is
only the top level namespace, then you might be naming these methods
differently to avoid a method name conflict. In Ruby, you can namespace
methods by whatever contains them. In this case, the Result and Query
classes. That means that you can define "print_csv_record" in both classes,
and when you call that method on the given object, it will know about its
method and not the other's method, so it will be correct.



> This script finds the matching fields but for some reason it writes 5x
> everything. I believe the "arr.each ..." part is wrong. Any idea? Thanks
> a lot! Szabolcs
>
>
I don't see anything conspicuous. Are you sure it isn't in your data? (ie 5
months of reports)

In This Thread