[#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: Scheme's (cond ((assertion) (value))...(else (value))) statement implemented in ruby?

From: Jörg W Mittag <JoergWMittag+Ruby@...>
Date: 2010-11-12 14:15:17 UTC
List: ruby-talk #373592
timr wrote:
> Hi Rubyists,
> I love ruby, but am learning scheme and kinda like the (cond
> ((assertion) (value))...(else (value))) syntax

I am a little bit confused by your question. In the subject line you
are asking about a Ruby equivalent to Scheme's 'cond' statement. But
AFAIK, Scheme doesn't *have* statements, it only has epxressions and
definitions.

If you are looking for an equivalent of the 'cond' derived conditional
expression, then Ruby has something which is exactly equivalent
(modulo the guarantees about proper tail calls) to the specification
in clause 11.4.5 of the 6th Revised Report on the Algorithmic Language
Scheme: the "'case' expression without expression" (which is quite a
mouthful ...)

    case
    when <test> then <expression>
    when <test>
      <expression>
      <expression>
    else
      <expression>
    end

> for what would normally
> look like this in ruby:
> 
> if (assertion 1)
>   value 1
> elsif (assertion 2)
>   value 2
> else
>   default
> end
> 
> I find scheme's cond syntax more quickly digestible since it reads
> like a table.
> (cond
>     ((assertion 1) (value 1))
>     ((assertion 2) (value 2))
>                 (else (default)))

That's equivalent (again, modulo tail context guarantees) to

    case
    when assertion 1 then value 1
    when assertion 2 then value 2
    else                  default
    end

> So I wondered if I could get a similar looking function in ruby. Here
> is an attempt:
> 
> class Object
>   alias l lambda
> 
>   def cond(tests)
>     #acts similar to scheme/LISP cond function using hash
>     #key => value rather than scheme's (cond (assertion)(value)...
> (else(value)))
>     tests.each_pair do |k,v|
>       if k.call
>         v.call
>         break
>       else
>         next
>       end
>     end
>   end
> 
>   def end_cond; l{true}; end
> end
> 
> cond  l{3 < 2}      =>  l{ puts "3 is less than 2"},
>          l{3 > 3}      =>  l{ puts "3 is greater than 3"},
>          l{3+1 > 4}  =>  l{ puts "4 is greater than 4"},
>        end_cond    =>  l{ puts "hey, it works!"}
> 
> # >> hey, it works!

AFAICS, this *does not* behave like either Scheme's 'cond' or Ruby's
'case' expression without expression. In particular, it doesn't seem
to return the value of the evaluated consequence expression. Instead,
it simply returns the hash that was passed in, which doesn't seem
particularly useful to me.

This seems to be closer to what you are looking for:

    class Object
      private

      def cond(conds)
        conds.each {|t, e| if t.is_a?(Proc) then t.() else t end and return e.() }
      end
    end

    puts cond ->{  3  < 2 } => ->{ '3 is less than 2' },
              ->{  3  > 3 } => ->{ '3 is greater than 3' },
              ->{ 3+1 > 4 } => ->{ '4 is greater than 4' },
                         else: ->{ 'hey, it works!' }

> I was surprised that the hash seems not to mix-up the order of the k:v
> pairs like it would if the keys were strings or symbols. I suppose
> because they are lambda's, the hash doesn't bother alphabetizing them
> during for the .each_pair method. Since they stay ordered, this table-
> like if;elsif;else seems to work fine. Can anyone think of any issues
> to using this approach? Can it give rise to unpredicted values--due to
> some behind the curtain hash key sorting?

In Ruby 1.9, hashes are always guaranteed to be ordered by insertion.
In Ruby 1.8, hashes are always unordered, regardless of whether their
keys are symbols, strings, procs or unicorns.

> Or can anyone come up with a cleaner syntax than a hash of lambdas for 
> both keys and values?

In Ruby 1.9, I think it is just fine. In Ruby 1.8, you would have to
use something which is ordered, like an array, or you would have to
require that the branches are mutually exclusive, which of course
rules out the possiblity of an 'else' branch.

What I am not entirely clear about is what's wrong with

    puts case
         when  3  < 2 then '3 is less than 2'
         when  3  > 3 then '3 is greater than 3'
         when 3+1 > 4 then '4 is greater than 4'
         else              'hey, it works!'
         end

That looks just fine to me.

Another thing that bugs me is that Ruby is an object-oriented
language, but I don't see an obvious object that the cond method
should belong to.

jwm

In This Thread