[#403837] Why none of the block giving the expected output with the "enumerator"? — Arup Rakshit <lists@...>

Why none of the block giving the expected output with the "enumerator"?

9 messages 2013/02/02

[#403870] Confusion with Enum#with_object block argument construct — Arup Rakshit <lists@...>

C:\>irb

9 messages 2013/02/03

[#403920] Character classes use in Ruby — Love U Ruby <lists@...>

Can anyone help me by giving an explanatory example of each of the

13 messages 2013/02/04

[#403935] How to stop page loading using selenium-web driver? — Love U Ruby <lists@...>

How to stop page loading using selenium-web driver?

11 messages 2013/02/04

[#403972] Ruby could recognize the values when putting into a webpage text filed. — Love U Ruby <lists@...>

SGksCgpJIGhhdmUgc29tZSB2YWx1ZXMgaW4gbXkgRXhjZWwgYXMgYmVsb3c6

9 messages 2013/02/05

[#403986] old syntax? what's going on here — tamouse mailing lists <tamouse.lists@...>

I have this in a _spec.rb file: (a gem I inherited at work)

11 messages 2013/02/05

[#404005] Implementing DRY with a function call — Rob Marshall <lists@...>

Hi,

12 messages 2013/02/05

[#404006] using an instance variable inside a method — FirstName Surname <lists@...>

Hello.

19 messages 2013/02/05

[#404021] Not able get the label text incurred with <input> element — Love U Ruby <lists@...>

I do have a below `HTML`:

18 messages 2013/02/05

[#404025] Symbol.defined? — Student Jr <lists@...>

Symbol deserialization from external sources is now known to be

15 messages 2013/02/06

[#404058] Ruby 1.9.3-p362 on Mac OSX — Peter Bailey <lists@...>

Hi,

13 messages 2013/02/06

[#404082] Problem building Ruby 1.9.3 patchlevel 385 under AIX 7.1 — Ruby Student <ruby.student@...>

Hello World!

10 messages 2013/02/06

[#404101] Issues from an extreme beginner — Bruce Palmer <lists@...>

Hey guys, great to be part of such a great community! I look forward to

19 messages 2013/02/07
[#404104] Re: Issues from an extreme beginner — Bruce Palmer <lists@...> 2013/02/07

Ahh, thank you Matthew! That was just the push I needed!

[#404208] elegant way to determine if something is defined — tamouse mailing lists <tamouse.lists@...>

Something like:

15 messages 2013/02/10

[#404218] Ruby Equivalent to VB's "With"? — Joel Pearson <lists@...>

I've looked around but I couldn't find anything helpful on this,

11 messages 2013/02/10

[#404235] The "ruby way" to do desktop applications? — "guirec c." <lists@...>

Hello,

17 messages 2013/02/11

[#404238] Best books for "advanced" programmers — "guirec c." <lists@...>

Hello,

18 messages 2013/02/11

[#404245] Issue with Excel column values read. — Love U Ruby <lists@...>

Hi,

22 messages 2013/02/11

[#404344] Ruby command line options s and S — Love U Ruby <lists@...>

Can anyone help me to understand the difference between s and S with

15 messages 2013/02/13

[#404386] Re: Ruby command line options s and S — "D. Deryl Downey" <me@...>

Dude!

20 messages 2013/02/14

[#404387] Ruby Multithreaded producer-consumer problem — Abhijit Sarkar <lists@...>

Hi,

26 messages 2013/02/14
[#404896] Re: Ruby Multithreaded producer-consumer problem — Abhijit Sarkar <lists@...> 2013/02/24

Bump!

[#404456] skip iteration in each loop — Saurav Chakraborty <lists@...>

I want to skip iteration for few values depending on dynamic condition.

11 messages 2013/02/15

[#404491] so, what's the proper way to replace funcionality of GOTO ? — "Stu P. D'naim" <lists@...>

I need to make few scripts for tasks I do often manually, but last time

27 messages 2013/02/15
[#404492] Re: [from BASIC to Ruby] so, what's the proper way to replace funcionality of GOTO ? — Love U Ruby <lists@...> 2013/02/15

Stu P. D'naim wrote in post #1097111:

[#404494] Re: [from BASIC to Ruby] so, what's the proper way to replace funcionality of GOTO ? — Ryan Victory <ryan@...> 2013/02/15

Love U Ruby: I'm really not sure what you meant by that response, but

[#404570] What is Ruby's default constructor? — Love U Ruby <lists@...>

Hi,

12 messages 2013/02/17

[#404632] Re: splat operator and Ruby instance variable assignments — Marc Heiler <lists@...>

Ok, understood what the guy wants ...

17 messages 2013/02/19
[#404640] Re: splat operator and Ruby instance variable assignments — Love U Ruby <lists@...> 2013/02/19

Marc Heiler wrote in post #1097736:

[#404645] Re: splat operator and Ruby instance variable assignments — Ryan Davis <ryand-ruby@...> 2013/02/19

[#404646] Re: splat operator and Ruby instance variable assignments — Love U Ruby <lists@...> 2013/02/19

Ryan Davis wrote in post #1097840:

[#404647] Re: splat operator and Ruby instance variable assignments — Peter Hickman <peterhickman386@...> 2013/02/19

On 19 February 2013 20:35, Love U Ruby <lists@ruby-forum.com> wrote:

[#404648] Re: splat operator and Ruby instance variable assignments — Love U Ruby <lists@...> 2013/02/19

Peter Hickman wrote in post #1097848:

[#404696] THE CLASS/OBJECT CHICKEN-AND-EGG PARADOX — "Xavier R." <lists@...>

Hi,

25 messages 2013/02/20
[#404699] Re: THE CLASS/OBJECT CHICKEN-AND-EGG PARADOX — Matt Mongeau <halogenandtoast@...> 2013/02/20

Maybe you could provide more detail about what you are confused about. To

[#404700] Re: THE CLASS/OBJECT CHICKEN-AND-EGG PARADOX — "Xavier R." <lists@...> 2013/02/20

Matt Mongeau wrote in post #1098058:

[#404705] Re: THE CLASS/OBJECT CHICKEN-AND-EGG PARADOX — Matt Mongeau <halogenandtoast@...> 2013/02/20

It's not really a paradox. Take for example

[#404738] backslash substitution — Mario Ruiz <lists@...>

don't know why... but this is not working

18 messages 2013/02/21

[#404809] Difference of 2 dates interms of years. — "Xavier R." <lists@...>

how can we get the experience years between two dates(ex:2012-01-11 to

13 messages 2013/02/22

[#404817] Not able to understand the difference between "||=" and "|=". — "Xavier R." <lists@...>

>> a = []

12 messages 2013/02/22

[#404839] range is not assigning to the splat variable. — Love U Ruby <lists@...>

Why splat variable couldn't take in the below two code the "range" ->

10 messages 2013/02/23

[#404842] Why class returning its own name when "include" statement? — Love U Ruby <lists@...>

I was actually playing around with the class definition return values.

16 messages 2013/02/23
[#404844] Re: Why class returning its own name when "include" statement? — Love U Ruby <lists@...> 2013/02/23

@Stefano Yes you are right. The below code is proved that.

[#404867] how to see the class creation time in Ruby? — Love U Ruby <lists@...>

In Ruby any chance to see the last-modified time of a specific class?

15 messages 2013/02/23

[#404901] Confusion with `nil` value being produced by IRB in case of Array#size manipulation. — Love U Ruby <lists@...>

enum[int] =3D obj =E2=86=92 obj

10 messages 2013/02/24

[#404921] How should I print only the last combination when using Array#combination(n) ? — Love U Ruby <lists@...>

>> a = [1,2,3]

15 messages 2013/02/24

[#405026] Please, help (GCD) greatest common divisor. — Caddy Tonks Lupin <lists@...>

Write a program to read two integers and show their greatest common

17 messages 2013/02/26

[#405059] Does this specific sound library exist? — Dirk Vogel <lists@...>

Hi there,

16 messages 2013/02/26

[#405067] Mac OS 10.8.2 and openssl — "Dr. Hegewald" <hegewald@...>

Hi everybody,

24 messages 2013/02/27

[#405079] Why `10` not returned without the `return` from the block ? — Love U Ruby <lists@...>

CODE - I

10 messages 2013/02/27

[#405107] Object track llist for a particular class. — "Xavier R." <lists@...>

Say I have created more than one instances from a particular class as

13 messages 2013/02/27

[#405145] Discussion on Ruby's `alias` — Tukai Patra <lists@...>

>> class Foo

27 messages 2013/02/28

[#405175] telnet - how to loop through commands listed in a file — Bob Ford <lists@...>

Let me first explain what I'm trying to do. I have written a very

18 messages 2013/02/28

Re: backslash substitution

From: Matthew Kerwin <lists@...>
Date: 2013-02-21 11:32:28 UTC
List: ruby-talk #404752
I think doing this in irb might help illuminate the issue.  Please read
the whole thing, and then read it again, and then if you think you
understand it, read it again and type along in your own ruby/irb.

  irb(main):001:0> a=" xxxxxx\tttt\3.4.2"
  => " xxxxxx\tttt\x03.4.2"

I now have a string, called `a`.  It has some characters in.  You may
notice that in my 1.9.2 Ruby the "\3" becomes "\x03" when inspected.
Interesting.  (I suspect that in 1.8 it would have become "\03", but I
can't remember that far back to be certain.)

  irb(main):002:0> a.unpack('C*')
  => [32, 120, 120, 120, 120, 120, 120, 9, 116, 116, 116, 3, 46, 52, 46,
50]

All I'm doing here is extracting the integer values of each ASCII
character in my `a` string.  Did you note that there are 16
bytes/characters, even though I typed 18 characters between the quotes
in my original statement?  Note also that the eighth byte, corresponding
with my first backslash, has the value 9.  I happen to know that 9 is
actually the ASCII TAB character, which is usually referred to as "\t".
I hope some bells are ringing here.

Odd, let me convert those integer byte values into strings, one by one,
so we can see them in a different way.

  irb(main):003:0> a.unpack('C*').map{|int| int.chr }
  => [" ", "x", "x", "x", "x", "x", "x", "\t", "t", "t", "t", "\x03",
".", "4", ".", "2"]

Each string contains a single character.  Notice how Ruby has
represented 9 as "\t" and 3 as "\x03", which look to be more than one
character each?  That representation goes both ways (i.e. you may
require multiple characters of source code to represent a single
character of actual data.)



Now let's have a look at the gsub bit:

  irb(main):004:0> '\\'
  => "\\"
  irb(main):005:0> '\\'.unpack('C*')
  => [92]
  irb(main):006:0> '\\'.unpack('C*').map{|int| int.chr }
  => ["\\"]

You can see quite plainly that ruby interprets the '\\' as a single
byte, with value 92, that is the ASCII backslash character.

Looking at the earlier code, there are no 92-bytes in the original
string.  I must infer, then, that gsub is quite correctly replacing 100%
of those 92-characters with a forward slash.  (In case you missed it,
100% of 0 is 0.)



Here is a little further experimentation on my part:

  irb(main):006:0> b=" xxxxxx\\tttt\\3.4.2"
  => " xxxxxx\\tttt\\3.4.2"
  irb(main):007:0> b.unpack('C*')
  => [32, 120, 120, 120, 120, 120, 120, 92, 116, 116, 116, 116, 92, 51,
46, 52, 46, 50]

Ahh, now `b` contains 18 characters, which is what we thought should
have been in `a`.  To achieve this, I had to actually type _20_
characters between the double-quotes (doubling up the backslashes.)

See how the eighth byte is now 92?  And so...

  irb(main):008:0> b.gsub('\\', '/')
  => " xxxxxx/tttt/3.4.2"

Aha!

Therefore, since `a` is apparently "like it is" and can't be changed, I
would first be asking: what is it actually like?  Does it contain
backslash characters, or does it contain TAB characters?  You can find
this out fairly easily by adding the equivalent of:

  STDERR.puts a.unpack('C*').inspect

..immediately before your current `gsub`.  Then, if there are 92s in the
array, your gsub should be working, and our debugging effort should move
elsewhere.

However, if there are 9s in the array, then you have some serious
issues, because it means that someone who meant to put 92s into their
string actually put 9s and 3s and whatever other rubbish in there.  It's
rather tricky (or impossible) to get them back out.

Let me leave you with a simple illustration:

  irb(main):009:0> a="bbb\aaa\7.6.5"
  => "bbb\aaa\a.6.5"
  irb(main):010:0> a.unpack('C*')
  => [98, 98, 98, 7, 97, 97, 7, 46, 54, 46, 53]

Oh noes!  When I type "\a" and "\7" Ruby interprets them both as the
same thing!  I have no way to "fix up" those integer 7s to either "\\a"
or "\\7" because by the time it looks like a 7, I have no way of knowing
which it was originally meant to be.

If you're in this situation, you need to go smack whoever messed up the
string in the first place.  IMO

-- 
Posted via http://www.ruby-forum.com/.

In This Thread