[#401849] If statement — Masoud Ahmadi <lists@...>

Will anyone be able to point out what I am doing wrong.

15 messages 2012/12/02

[#401987] Trying to get "translator" to work — JD KF <lists@...>

So, basically, I'm trying to get the below code to work properly for

12 messages 2012/12/06

[#402012] Need help to select some listbox item in different listbox together — Jonathan Masato <lists@...>

Hello,

10 messages 2012/12/07

[#402045] if n belongs to set a and m belongs to set b repeat some steps, How? — "zubair a." <lists@...>

We can do so in java and similar languages like:

11 messages 2012/12/08

[#402078] Time.new(2001, 12, 3).to_i returns wrong value — Robert Buck <lists@...>

I am doing something that not many do, I am writing a database driver

9 messages 2012/12/09

[#402145] How I can create/extract a variable/hash into the current binding in Ruby? — Ramon de C Valle <rcvalle@...>

Hi,

12 messages 2012/12/12

[#402205] Wondering About Flatiron School — "Kevin Y." <lists@...>

Hi everyone!,

35 messages 2012/12/15
[#402207] Re: Wondering About Flatiron School — Chad Perrin <code@...> 2012/12/15

On Sat, Dec 15, 2012 at 11:51:08AM +0900, Kevin Y. wrote:

[#402214] Ruby quick reference arranged in ASCII sequence? — Old Grantonian <lists@...>

As a ruby beginner, I would be grateful for any links to a ruby

17 messages 2012/12/15

[#402226] print - and strip text between tags using Nokogiri — Paul Mena <lists@...>

I'm a Ruby Newbie trying to write a program to process thousands of HTML

13 messages 2012/12/15

[#402332] Perl to Ruby: regex captures to assignment. — "Derrick B." <lists@...>

Hello all,

37 messages 2012/12/19
[#402342] Re: Perl to Ruby: regex captures to assignment. — "Derrick B." <lists@...> 2012/12/20

First of all, thanks for the fast responses!

[#402352] Re: Perl to Ruby: regex captures to assignment. — Robert Klemme <shortcutter@...> 2012/12/20

On Thu, Dec 20, 2012 at 1:38 AM, Derrick B. <lists@ruby-forum.com> wrote:

[#402357] Re: Perl to Ruby: regex captures to assignment. — "Derrick B." <lists@...> 2012/12/20

Robert Klemme wrote in post #1089733:

[#402359] trying to strip characters from a line — Paul Mena <lists@...>

I'm reading a table from a MySQL database and then processing it row by

18 messages 2012/12/20

[#402394] simple division: -9 / 5 = -2 what? — "Derrick B." <lists@...>

$ irb

13 messages 2012/12/22

[#402412] POLS and string-handling — Paul Magnussen <lists@...>

Hi,

14 messages 2012/12/22

[#402460] "Open" dialog of Windows — "Damián M. González" <lists@...>

Hi guys, been researching about pop up the "open" file dialog of

11 messages 2012/12/24

[#402466] How do I install Ruby on my Ubuntu 12.10 partition. — Kaye Ng <lists@...>

I already have Ruby installed on my Windows 7 partition.

23 messages 2012/12/25

[#402510] Ruby Association Certified Ruby Programmer — Sean Westfall <lists@...>

How well respected is this certification in the industry: Ruby

27 messages 2012/12/27
[#402528] Re: Ruby Association Certified Ruby Programmer — Peter Hickman <peterhickman386@...> 2012/12/27

On 27 December 2012 01:28, Sean Westfall <lists@ruby-forum.com> wrote:

[#402555] numeric? — Brandon Weaver <keystonelemur@...>

I've found a bit of an annoyance trying to find out if a number is numeric

20 messages 2012/12/27

[#402580] Ruby Koans regarding Hashes. — "Derrick B." <lists@...>

I am trying to understand this, so let me know how I do. :) I know

18 messages 2012/12/28

[#402609] can't open new ruby program under "new" context menu — "Lee V." <lists@...>

I'm stuck on the new version at trying to do something very simple.

10 messages 2012/12/28

[#402642] require "test/unit" — "Mattias A." <lists@...>

Hi,

17 messages 2012/12/29
[#402667] Re: require "test/unit" — "Mattias A." <lists@...> 2012/12/31

Hi Dami=C3=A1n M. Gonz=C3=A1lez!

[#402747] Re: require "test/unit" — "Derrick B." <lists@...> 2013/01/04

Mattias A. wrote in post #1090700:

[#402749] Re: require "test/unit" — sto.mar@... 2013/01/04

Am 04.01.2013 19:48, schrieb Derrick B.:

Re: Perl to Ruby: regex captures to assignment.

From: Wei Feng <windix@...>
Date: 2012-12-19 23:31:51 UTC
List: ruby-talk #402336
Try this:

w, n, d = frac_str =~ %r{/} \
? frac_str.match(%r{(?:(\S+) )*?(\S+)/(\S+)}).captures \
: [1, frac_str, 0]

I've use %r{} to quote regex, so no need to escape for /


On Thu, Dec 20, 2012 at 8:45 AM, Derrick B. <lists@ruby-forum.com> wrote:

> Hello all,
>
> I am converting a Perl program to Ruby in order to learn Ruby.  There is
> an expression that takes a string, ("1 3/4" or "5", for example)
> determines what kind of fraction was entered, and assigns variables (w,
> n, d), appropriately.  If a whole number was entered, then it assigns
> the variables differently, of course.
>
> The expression first checks for the presence of a slash ("/") to
> determine if it is a fraction or whole number.  Then, using the
> conditional operator, assigns the variables, appropriately.
>
> Here are the two expressions:
>
> Perl:
>
>     my ($w, $n, $d) = ( $frac_str =~ /\// )
>             ? $frac_str =~ /(?:(\S+) )??(\S+)\/(\S+)/
>             : ( 1, $frac_str, 0 );
>
> Ruby:
>
>     w, n, d = frac_str.match(/\//) \
>         ? frac_str.match(/(?:(\S+) )*?(\S+)\/(\S+)/).captures \
>         : 0, frac_str, 1
>     puts "w: #{w}, n: #{n}, d: #{d}"  # check assignment
>
>
> I used irb to test the regex and it works just fine:
>
> exp = Regexp.new(/(?:(\S+) )*?(\S+)\/(\S+)/)
> => /(?:(\S+) )*?(\S+)\/(\S+)/
>
> str = "1 3/4"
> => "1 3/4"
>
> n, w, d = str.match(exp).captures
> => ["1", "3", "4"]
>
> w
> => "3"
>
> n
> => "1"
>
> d
> => "4"
>
> But, the above version outputs:
>
> w: 134, n: 1 3/4, d: 1
>
> It appears to recurse over the regex and duplicate the captures.  But,
> since I am new to this language, I know I can use an 'if..else'
> statement, but since I am coming from Perl, I figured that a similar
> expression would "just work"!  :)
>
> Thanks for your time and input,
>
> Derrick
>
> --
> Posted via http://www.ruby-forum.com/.
>
>


-- 
Regards,
Wei Feng

03 9005 3441 | M 0413 658 250 | windix@gmail.com | http://wei.feng.id.au

In This Thread