From: Geoff Belknap on
I'm running into a weird behavior while using TkComm::list and
TkComm::tk_tcl2ruby

ruby-1.9.1-p378 > data = "2.00 21 2"
=> "2.00 21 2"
ruby-1.9.1-p378 > TkComm::list(data)
=> [2.0, 21, 2]
ruby-1.9.1-p378 > TkComm::tk_tcl2ruby(data)
=> [2.0, 21, 2]

With those methods, I'm losing a zero...

But if I break down and just use split:

ruby-1.9.1-p378 > data.split
=> ["2.00", "21", "2"]

Is this a bug? or poor use of the TkComm::list and tk_tcl2ruby methods?
--
Posted via http://www.ruby-forum.com/.

From: Hidetoshi NAGAI on
From: Geoff Belknap <geoff.belknap(a)gmail.com>
Subject: bug in TkComm::list?
Date: Thu, 15 Jul 2010 07:21:09 +0900
Message-ID: <04a1455d5ccf72f1186aee5374ad6361(a)ruby-forum.com>
> I'm running into a weird behavior while using TkComm::list and
> TkComm::tk_tcl2ruby

Those methods convert a tcl string to a Numeric object, if the string
can be a description of a numeric value.
If you want to get each element as a string, please use TkComm.simplelist.
----------------------------------------------
irb(main):001:0> data = "2.00 {21 22 23} 2"
=> "2.00 {21 22 23} 2"
irb(main):002:0> TkComm::list(data)
=> [2.0, [21, 22, 23], 2]
irb(main):003:0> TkComm::simplelist(data)
=> ["2.00", "21 22 23", "2"]
----------------------------------------------
--
Hidetoshi NAGAI (nagai(a)ai.kyutech.ac.jp)