[#389739] Ruby Challenge — teresa nuagen <unguyen90@...>

Here is a ruby challenge for all you computer science lovers out there,

22 messages 2011/11/05
[#389769] Re: Ruby Challenge — "Jonan S." <jonanscheffler@...> 2011/11/05

Totally unrelated to any husker computer science programs right? Like

[#389905] Re: Ruby Challenge — Stephen Ramsay <sramsay.unl@...> 2011/11/09

Jonan S. wrote in post #1030330:

[#389907] Re: Ruby Challenge — aseret nuagen <unguyen90@...> 2011/11/09

> You mean like the professor for the course? Because that would be me .

[#389915] Re: Ruby Challenge — Robert Klemme <shortcutter@...> 2011/11/09

On Wed, Nov 9, 2011 at 4:52 AM, aseret nuagen <unguyen90@aim.com> wrote:

[#389792] Tricky DSL, how to do it? — Intransition <transfire@...>

I'd want to write a DSL such that a surface method_missing catches

18 messages 2011/11/06

[#389858] Compiling Ruby Inline C code - resolving errors — Martin Hansen <mail@...>

I am trying to get this Ruby inline C code http://pastie.org/2825882 to

12 messages 2011/11/08

[#389928] Forming a Ruby meetup group... — "Darryl L. Pierce" <mcpierce@...>

Where I work we have a local Ruby group that used to meet up, until the

12 messages 2011/11/09

[#389950] The faster way to read files — "Noé Alejandro" <casanejo@...>

Does anybody know which is the fastest way to read a file? Lets say

18 messages 2011/11/09

[#390064] referring to version numbers in a gem — Chad Perrin <code@...>

How do I specify and access a gem's version number within the code of the

28 messages 2011/11/11

[#390238] RVM problem, plz help — Misha Ognev <b1368810@...>

Hi, I have this problem:

15 messages 2011/11/16

[#390308] any command line tools for querying yaml files — Rahul Kumar <sentinel1879@...>

(Sorry, this is not exactly a ruby question).

11 messages 2011/11/18

[#390338] Newbie - cmd question — Otto Dydakt <ottodydakt@...>

I've literally JUST downloaded ruby from rubyinstaller.org.

21 messages 2011/11/19
[#390342] Re: Newbie - cmd question — Otto Dydakt <ottodydakt@...> 2011/11/19

OK thank you, I uninstalled & reinstalled, checking the three boxes at

[#390343] Re: Newbie - cmd question — "Ian M. Asaff" <ian.asaff@...> 2011/11/19

did you type "irb" first to bring up the ruby command prompt?

[#391154] Re: Newbie - cmd question — "Hussain A." <hahmad@...> 2011/12/12

Hi all,

[#391165] Re: Newbie - cmd question — Luis Lavena <luislavena@...> 2011/12/12

Hussain A. wrote in post #1036281:

[#390374] Principle of Best Principles — Intransition <transfire@...>

I seem to run into a couple of design issue a lot and I never know what is

16 messages 2011/11/20

[#390396] how to call Function argument into another ruby script. — hari mahesh <harismahesh@...>

Consider I have a ruby file called library.rb.

10 messages 2011/11/21

[#390496] How to make 1.9.2 my default version using RVM — Fily Salas <fs_tigre@...>

Hi,

25 messages 2011/11/24

[#390535] Is high-speed sorting impossible with Ruby? — "Gaurav C." <chande.gaurav@...>

Well, first of all, I'm new to Ruby, and to this forum. So, hello. :)

39 messages 2011/11/25
[#390580] Re: Is high-speed sorting impossible with Ruby? — Joao Pedrosa <joaopedrosa@...> 2011/11/27

Hi,

[#390593] Re: Is high-speed sorting impossible with Ruby? — "Gaurav C." <chande.gaurav@...> 2011/11/27

Joao Pedrosa wrote in post #1033884:

[#390600] Re: Is high-speed sorting impossible with Ruby? — Douglas Seifert <doug@...> 2011/11/27

A big gain can be had by disabling the garbage collector. Here is my best

[#390601] Re: Is high-speed sorting impossible with Ruby? — Douglas Seifert <doug@...> 2011/11/27

I've thrown various solutions up on github here:

[#390650] Loading a faulty ruby file - forcing this — Marc Heiler <shevegen@...>

Hi.

10 messages 2011/11/29

[#390689] Stupid question — James Gallagher <lollyproductions@...>

Hi everyone.

22 messages 2011/11/30

Re: NOKIGIRI XPATH

From: Robert Klemme <shortcutter@...>
Date: 2011-11-24 16:02:57 UTC
List: ruby-talk #390494
2011/11/24 Jes=FAs Gabriel y Gal=E1n <jgabrielygalan@gmail.com>:
> On Thu, Nov 24, 2011 at 1:49 PM, Robert Klemme
> <shortcutter@googlemail.com> wrote:
>> 2011/11/24 Jes=FAs Gabriel y Gal=E1n <jgabrielygalan@gmail.com>:
>>> On Thu, Nov 24, 2011 at 12:30 PM, Ruby Mania <prateek123@gmail.com> wro=
te:
>>>> Thanks a lot for help. But it matched CDEF and all nodes after that ev=
en
>>>> if key !=3D english
>>>
>>> I'm not sure why is this. I'm still trying to come up with a good
>>> XPath that will return just that node,
>>
>> Well, there could be many matches and from the original posting I
>> cannot see that only the first is needed.
>
> What I don't understand is why that xpath returns nodes whose
> preceding key sibling doesn't have 'English' as value.

With the statement above I was referring to the case where there are
multiple pairs of key "English" and topic.

> I mean:
>
>
> <topics>
> =A0<topic>
> =A0 =A0<key>English</key>
> =A0 =A0<topic><data>CDEF</data></topic>
> =A0</topic>
> =A0<topic>
> =A0 =A0<key>Spanish</key>
> =A0 =A0<topic><data>ABC</data></topic>
> =A0</topic>
> </topics>
>
> Why that xpath returns the ABC also. I would have thought that

Which XPath expression are you referring to here with "that xpath"?
If you mean this

irb(main):020:0> doc =3D
Nokogiri.XML("<r><a><k/><b>1</b><b>2</b></a><a><k/><b>3</b></a></r>")
=3D> ...
irb(main):022:0> doc.xpath('//k/following-sibling::b').size
=3D> 3
irb(main):023:0> puts doc.xpath('//k/following-sibling::b')
<b>1</b>
<b>2</b>
<b>3</b>
=3D> nil

Then you get three matches but from different parents - even though
you cannot distinguish them immediately.  If you want to only match
exactly one entry you need to add more criteria:

irb(main):024:0> doc.xpath('//k/following-sibling::b[1]').size
=3D> 2
irb(main):025:0> puts doc.xpath('//k/following-sibling::b[1]')
<b>1</b>
<b>3</b>
=3D> nil

> following-sibling for <key>English</key> would only be the
> <topic><data>CDEF</data></topic>, from which we are selecting the data
> node.

Generally *-sibling refers to all siblings, i.e. sub nodes of the same node

irb(main):016:0> doc =3D Nokogiri.XML("<a><k/><b>1</b><b>2</b></a>")
=3D> #<Nokogiri::XML::Document:0x832daa4 name=3D"document"
children=3D[#<Nokogiri::XML::Element:0x832d810 name=3D"a"
children=3D[#<Nokogiri::XML::Element:0x832d68a name=3D"k">,
#<Nokogiri::XML::Element:0x832d568 name=3D"b"
children=3D[#<Nokogiri::XML::Text:0x832d450 "1">]>,
#<Nokogiri::XML::Element:0x831c02e name=3D"b"
children=3D[#<Nokogiri::XML::Text:0x831bf02 "2">]>]>]>

irb(main):017:0> doc.xpath('//k/following-sibling::b').size
=3D> 2

irb(main):019:0> puts doc.xpath('//k/following-sibling::b')
<b>1</b>
<b>2</b>
=3D> nil

See also the XPath resources I mentioned earlier.

Kind regards

robert

--=20
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread