[#366855] what is the correct way to extend native methods? — Maurizio De Santis <desantis.maurizio@...>

Hello!

15 messages 2010/08/01
[#366857] Re: what is the correct way to extend native methods? — James Harrison <oscartheduck@...> 2010/08/01

> return self.select{ |val| val.to_s =~ args[0] } if args.size == 1

[#366864] Re: what is the correct way to extend native methods? — Maurizio De Santis <desantis.maurizio@...> 2010/08/01

James Harrison wrote:

[#366866] Re: what is the correct way to extend native methods? — Brian Candler <b.candler@...> 2010/08/01

Maurizio De Santis wrote:

[#366916] How to remove leading &nbsp; from string — Lucky Nl <lakshmi27.u@...>

Hi

13 messages 2010/08/02

[#366931] Iteration through File.file? misses entries for which File.file?(entry) == true — Kyle Barbour <kyle@...>

Hello everyone,

11 messages 2010/08/02

[#367167] Project name ownership and conflict — Emmanuel Gomez <emmanuel.gomez@...>

I recently had a discussion with a fellow Ruby developer that revealed a

13 messages 2010/08/05

[#367169] Abstracting exception handling — Martin Hansen <mail@...>

Hello,

15 messages 2010/08/05
[#367173] Re: Abstracting exception handling — Brian Candler <b.candler@...> 2010/08/05

> I suspect something is going out of scope and lost?

[#367176] Re: Abstracting exception handling — Martin Hansen <mail@...> 2010/08/05

I was hoping for a setup like this in two files:

[#367177] Re: Abstracting exception handling — Andrew Wagner <wagner.andrew@...> 2010/08/05

What kind of stuff are you doing in my_script.rb? Defining a class? A

[#367179] Re: Abstracting exception handling — Martin Hansen <mail@...> 2010/08/05

Andrew Wagner wrote:

[#367372] Is there any human talkable ruby library? — Sniper Abandon <sathish.salem.1984@...>

Is there any human talk able(like Eliza ) ruby library?

12 messages 2010/08/09

[#367438] Determining whether the running ruby is outdated? — Lars Olsson <lasso@...>

Hi,

14 messages 2010/08/10

[#367540] Ruby is in Grave Danger! — Gregory Brown <gregory.t.brown@...>

Dear Friends,

34 messages 2010/08/11

[#367631] Parsing, BNF, TreeTop, GhostWheel, ... — Philipp Kempgen <lists@...>

Hi,

13 messages 2010/08/12

[#367664] libstdc++ — Pw Ktp <amar.seeam@...>

when trying to install a gem i am getting a 'libstdc++' not installed

24 messages 2010/08/13
[#367666] Re: libstdc++ — Brian Candler <b.candler@...> 2010/08/13

Pw Ktp wrote:

[#367668] Re: libstdc++ — Pw Ktp <amar.seeam@...> 2010/08/13

Brian Candler wrote:

[#367670] Re: libstdc++ — Brian Candler <b.candler@...> 2010/08/13

OK, probably missing headers as Daniel said. Try:

[#367671] Re: libstdc++ — Pw Ktp <amar.seeam@...> 2010/08/13

Brian Candler wrote:

[#367703] Question about learning Ruby effectively — Chan Nguyen <cnguyen@...>

Hi everyone,

12 messages 2010/08/14

[#367781] Unix Philosophy in Ruby Programing — Diego Bernardes <di3go.bernardes@...>

I use Linux about 5 years, but, this year that i started to "use" linux.

22 messages 2010/08/16

[#367833] can i do this in ruby? a simulation process — Bruce Wayner <winshocker@...>

still i don't know how to begin my program on this problem:

56 messages 2010/08/17
[#367834] Re: can i do this in ruby? a simulation process — Jean-Julien Fleck <jeanjulien.fleck@...> 2010/08/17

> Requirements:

[#367837] Re: can i do this in ruby? a simulation process — Bruce Wayner <winshocker@...> 2010/08/17

Jean-Julien Fleck wrote:

[#367839] Re: can i do this in ruby? a simulation process — Jean-Julien Fleck <jeanjulien.fleck@...> 2010/08/17

> Cheers Thanks, anyway i already did writing and other stuff but the only

[#367849] Re: can i do this in ruby? a simulation process — Andrew Wagner <wagner.andrew@...> 2010/08/17

Hmm, I may or may not disagree with you on what the output should be. I

[#367850] Re: can i do this in ruby? a simulation process — Brian Candler <b.candler@...> 2010/08/17

Andrew Wagner wrote:

[#367853] Re: can i do this in ruby? a simulation process — Andrew Wagner <wagner.andrew@...> 2010/08/17

>

[#367858] Re: can i do this in ruby? a simulation process — Bruce Wayner <winshocker@...> 2010/08/17

A superhighway connects one large metropolitan area to another.

[#367862] Re: can i do this in ruby? a simulation process — Andrew Wagner <wagner.andrew@...> 2010/08/17

>

[#367867] Re: can i do this in ruby? a simulation process — Jean-Julien Fleck <jeanjulien.fleck@...> 2010/08/17

> You bring up an interesting point about going

[#367873] Re: can i do this in ruby? a simulation process — Andrew Wagner <wagner.andrew@...> 2010/08/17

Well, it may be interesting, but not in terms of the question originally

[#367911] Re: can i do this in ruby? a simulation process — brabuhr@... 2010/08/17

On Tue, Aug 17, 2010 at 7:34 AM, Andrew Wagner <wagner.andrew@gmail.com> wrote:

[#367922] Re: can i do this in ruby? a simulation process — brabuhr@... 2010/08/17

On Tue, Aug 17, 2010 at 1:19 PM, <brabuhr@gmail.com> wrote:

[#367937] Re: can i do this in ruby? a simulation process — Bruce Wayner <winshocker@...> 2010/08/18

can someone post some code here: I'm only a newbie in ruby :( and

[#367946] Re: can i do this in ruby? a simulation process — Brian Candler <b.candler@...> 2010/08/18

Bruce Wayner wrote:

[#367952] Re: can i do this in ruby? a simulation process — Bruce Wayner <winshocker@...> 2010/08/18

sorry I'm totally suck in ruby here is my code:

[#367965] Re: can i do this in ruby? a simulation process — Brian Candler <b.candler@...> 2010/08/18

> sorry I'm totally suck in ruby here is my code:

[#367967] Re: can i do this in ruby? a simulation process — Brian Candler <b.candler@...> 2010/08/18

>> if $delay1==0;

[#367884] Making File.open work on gzipped files — Martin Hansen <mail@...>

Hello all,

15 messages 2010/08/17
[#367893] Re: Making File.open work on gzipped files — Brian Candler <b.candler@...> 2010/08/17

> This works nicely, but I would like it to work on gzipped files too.

[#367919] Re: Making File.open work on gzipped files — Martin Hansen <mail@...> 2010/08/17

Thanks Brian,

[#367910] Ruby GC question (MRI, JRuby, etc) — Chuck Remes <cremes.devlist@...>

My basic understanding of the garbage collectors in use by the various Ruby runtimes is that they all search for objects from a "root" memory object. If an object cannot be reached from this root, then it is collected.

11 messages 2010/08/17

[#367983] Ruby 1.9.2 is released — "Yuki Sonoda (Yugui)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

23 messages 2010/08/18
[#368021] Re: [ANN] Ruby 1.9.2 is released — botp <botpena@...> 2010/08/19

2010/8/18 Yuki Sonoda (Yugui) <yugui@yugui.jp>:

[#368023] Re: [ANN] Ruby 1.9.2 is released — botp <botpena@...> 2010/08/19

> weird, since rvm does install it fine.

[#368000] Ruby Code Parsing — Jonathan Bale <webmaster@...>

I have a Perl friend asking me questions about how ruby parses its code.

15 messages 2010/08/18

[#368005] Check existence of object and it's property at the same time — Cory Patterson <coryp@...>

I run into this from time to time and I was wondering if there is a

10 messages 2010/08/18

[#368076] Shoes 3 released — Steve Klabnik <steve@...>

Hey there everyone. We've just released Shoes 3, "Policeman", to

19 messages 2010/08/19

[#368199] A small problem for arrays — Unc88 Unc88 <unc88@...>

I have 2 array. ar_1, ar_2

11 messages 2010/08/21

[#368343] gem list --remote does not work on windows running ruby 1.9.2p0 — botp <botpena@...>

Title says all.

9 messages 2010/08/24

[#368384] ffi-ncurses 0.3.3 — "Sean O'Halpin" <sean.ohalpin@...>

I've just released version 0.3.3 of the ffi-ncurses gem. This fixes

22 messages 2010/08/25
[#368423] Re: ffi-ncurses 0.3.3 — "R.. Kumar 1.9.1 OSX" <sentinel1879@...> 2010/08/26

Sean O'halpin wrote:

[#368500] Re: ffi-ncurses 0.3.3 — "Sean O'Halpin" <sean.ohalpin@...> 2010/08/27

On Thu, Aug 26, 2010 at 11:20 AM, R.. Kumar 1.9.1 OSX

[#368533] Re: ffi-ncurses 0.3.3 — botp <botpena@...> 2010/08/28

On Fri, Aug 27, 2010 at 10:05 PM, Sean O'Halpin <sean.ohalpin@gmail.com> wrote:

[#368538] Re: ffi-ncurses 0.3.3 — Rahul Kumar <sentinel1879@...> 2010/08/28

[#368546] Re: ffi-ncurses 0.3.3 — botp <botpena@...> 2010/08/28

On Sat, Aug 28, 2010 at 2:34 PM, Rahul Kumar <sentinel1879@gmail.com> wrote:

[#368556] Re: ffi-ncurses 0.3.3 — "Sean O'Halpin" <sean.ohalpin@...> 2010/08/28

On Sat, Aug 28, 2010 at 9:47 AM, botp <botpena@gmail.com> wrote:

[#368623] Re: ffi-ncurses 0.3.3 — Rahul Kumar <sentinel1879@...> 2010/08/30

[#368471] how about Array#collect_until — timr <timrandg@...>

I am wondering if anyone has implemented an Array#collect_until method

14 messages 2010/08/27

[#368506] select tr>3 with nokogiri — Pen Ttt <myocean135@...>

13 messages 2010/08/27

[#368690] Namespaces too looooooong — Iain Barnett <iainspeed@...>

Hi,

18 messages 2010/08/31
[#368692] Re: Namespaces too looooooong — Joel VanderWerf <joelvanderwerf@...> 2010/08/31

On 08/30/2010 05:51 PM, Iain Barnett wrote:

[#368694] Re: Namespaces too looooooong — Iain Barnett <iainspeed@...> 2010/08/31

Re: Crunching Text Not Working in a Loop

From: Jes俍 Gabriel y Gal疣 <jgabrielygalan@...>
Date: 2010-08-10 06:34:06 UTC
List: ruby-talk #367428
On Tue, Aug 10, 2010 at 12:41 AM, Richard Fairbanks <lists@f-p-i.com> wrote=
:
> Greetings, folks!
>
> I need to be able to capitalize words inside quote marks, as part of a
> string of words. I need to use proper publishing capitalization
> protocols which is more involved than simply making the first letter of
> each word uppercase. Thus the appended script is greatly truncated!
>
> I would be very grateful if someone could please advise me on why the
> following doesn=92t work as part of a repeating loop or with typographic
> quote marks, but does work as a simple standalone script.
>
> Blessings and thank you!
>
> Richard Fairbanks
>
> ----
>
> The following does work, but only if the first quote is a straight
> quote: ' or ". It doesn=92t work with typesetter marks: =91 or =93
>
> =A0#!/usr/bin/env ruby
>
> =A0require 'rubygems'
> =A0require "jcode"; $KCODE =3D "UTF8"
> =A0require 'appscript'; include Appscript
> =A0require 'osax'; include OSAX
>
> =A0# copy the text: "abc"
> =A0item =3D osax.the_clipboard()
> =A0item1 =3D item[0,1]
> =A0item2 =3D item[1..-1]
> =A0item =3D item1 + item2.capitalize!
> =A0osax.set_the_clipboard_to(item) =A0#=3D> "Abc"s
>
> ----
>
> BUT it doesn=92t work at all as part of a loop:
>
> =A0#!/usr/bin/env ruby
>
> =A0require 'rubygems'
> =A0require "jcode"; $KCODE =3D "UTF8"
> =A0require 'appscript'; include Appscript
> =A0require 'osax'; include OSAX
>
> =A0openingQuoteMark =3D ["'", "\"", "=91", "=92", "=93"]
>
> =A0# get the text to be processed:
> =A0theString =3D osax.the_clipboard()
>
> =A0theWords =3D theString.split =A0# convert the text to an array of the
> words
>
> =A0theWords.each do |item|
> =A0 =A0charList =3D item.split(//) =A0# create an array of the word=92s
> characters
> =A0 =A0 =A0# first check to see if there is an opening quote mark
> =A0 =A0unless openingQuoteMark.include?(charList[0]) =A0# if the word doe=
sn=92t
> start with a quote mark. If it does, this will only try to capitalize
> the quote mark!
> =A0 =A0 =A0# this works fine
> =A0 =A0 =A0item =3D item.capitalize!
> =A0 =A0else
> =A0 =A0 =A0# but the following doesn=92t work
> =A0 =A0 =A0# to test: copy me to the clipboard with "abc"
> =A0 =A0 =A0item1 =3D item[0,1]
> =A0 =A0 =A0item2 =3D item[1..-1]
> =A0 =A0 =A0item =3D item1 + item2.capitalize!
> =A0 =A0 =A0osax.say "but it does run!"
> =A0 =A0end
> =A0end

One thing comes to mind: you are iterating over theWords, passing each
word into the block as the variable "item". The object referenced to
that variable is never modified, or the modified version assigned back
into the theWords array. So after the "each" loop, the array the Words
is the original one. The first branch of the unless conditional works,
because you are calling a self modifying method on item
(item.capitalize!). In fact, it will work even if you leave out the
assignment, cause you are assigning to the block local variable item,
which is then reassigned in the following iteration.

On the other branch, when you do item2 =3D item[1..-1] you are doing a
copy of the string, and when you call item2.capitalize!, the original
string is not modified:

irb(main):005:0> s =3D "abcde"
=3D> "abcde"
irb(main):006:0> a =3D s[1..-1]
=3D> "bcde"
irb(main):007:0> a.capitalize!
=3D> "Bcde"
irb(main):008:0> s
=3D> "abcde"

So, the object referenced by item is not modified, and then you only
do item =3D item1 + item2.capitalize!, which does nothing to the
original string, but only assign the local variable. One way to do it
if you don't need the original the_words array:

the_words =3D the_string.split

the_words.map! do |item|
    charList =3D item.split(//)  # create an array of the word=92s characte=
rs
     # first check to see if there is an opening quote mark
   unless openingQuoteMark.include?(charList[0])
      item.capitalize
   else
     item1 =3D item[0,1]
     item2 =3D item[1..-1]
     item1 + item2.capitalize
  end
end

p the_words

map! will modify the array, substituting each entry with the result of
the block for that entry. Notice how I don't assign the the item
variable anymore. And by the way, the common Ruby convention is to use
camel_case, not snakeCase. If you want to keep both the original array
and the new one, you can do this:

the_words =3D the_string.split

new_words =3D the_words.map do |item|
    charList =3D item.split(//)  # create an array of the word=92s characte=
rs
     # first check to see if there is an opening quote mark
   unless openingQuoteMark.include?(charList[0])
      item.capitalize
   else
     item1 =3D item[0,1]
     item2 =3D item[1..-1]
     item1 + item2.capitalize
  end
end

p the_words
p new_words

map will create a new array, assigning the result of the block to each entr=
y.

Hope this helps,

Jesus.

In This Thread