[#399938] how to read arrary with an array — "Richard D." <lists@...>

Hello. I believe this is basic question, but I'm just starting to learn

19 messages 2012/10/02

[#400050] img src while sending email ruby cgi — Ferdous ara <lists@...>

Hi

16 messages 2012/10/05

[#400351] Drop 1st and last particular character — ajay paswan <lists@...>

What is the most efficient way to drop '#' from the first place and last

15 messages 2012/10/16

[#400374] database part of a desktop application — "Sebastjan H." <lists@...>

Hi,

14 messages 2012/10/16
[#400375] Re: database part of a desktop application — Chad Perrin <code@...> 2012/10/16

On Wed, Oct 17, 2012 at 05:28:39AM +0900, Sebastjan H. wrote:

[#400377] Re: database part of a desktop application — sto.mar@... 2012/10/17

Am 16.10.2012 23:24, schrieb Chad Perrin:

[#400389] Re: database part of a desktop application — Chad Perrin <code@...> 2012/10/17

On Wed, Oct 17, 2012 at 01:39:21PM +0900, sto.mar@web.de wrote:

[#400386] Unable to send attachment, and dealing with multiple attachment — ajay paswan <lists@...>

Hi,

11 messages 2012/10/17

[#400454] Hash with Integer key issue — Wayne Simmerson <lists@...>

Hi Im new to Ruby and am getting some unexpected results from a

18 messages 2012/10/19

[#400535] Name/symbol/object type clash? What is happening here? — Todd Benson <caduceass@...>

It's nonsense code, but I'm curious as to what is going on behind the scenes...

41 messages 2012/10/23

[#400556] Calling a method foo() or an object foo.method_call_here - both — Marc Heiler <lists@...>

Hello.

13 messages 2012/10/24

[#400650] OpenSSL ECDSA public key from private — Nokan Emiro <uzleepito@...>

Hi,

11 messages 2012/10/27

[#400680] Passing folder as argument ARGV? — Joz Private <lists@...>

Is there an easy way to pass multiple files on the command line?

15 messages 2012/10/28
[#400681] Re: Passing folder as argument ARGV? — brad smith <bradleydsmith@...> 2012/10/28

How are you traversing the directory you pass in on the command line ?

[#400697] File.readable? and /proc — Jeff Moore <lists@...>

root@nail:/projects/proc_fs# uname -a

13 messages 2012/10/28

[#400714] Marshal.load weird issue — "Pierre J." <lists@...>

Hi guys

12 messages 2012/10/28

[#400781] bug?: local variable created in if modifier not available in modified expression — "Mean L." <lists@...>

irb(main):001:0> local1 if local1 = "created"

21 messages 2012/10/30
[#400807] Re: bug?: local variable created in if modifier not available in modified expression — Bartosz Dziewoński <matma.rex@...> 2012/10/31

Oh, and in case it wasn't apparent: you can just add

[#400808] Re: bug?: local variable created in if modifier not available in modified expression — Eliezer Croitoru <eliezer@...> 2012/10/31

On 10/31/2012 4:52 PM, Bartosz Dziewoナгki wrote:

[#400809] Re: bug?: local variable created in if modifier not available in modified expression — Robert Klemme <shortcutter@...> 2012/10/31

On Wed, Oct 31, 2012 at 4:28 PM, Eliezer Croitoru <eliezer@ngtech.co.il>wrote:

[#400784] REXML & HTMLentities incorrectly map to UTF-8 — "Mark S." <lists@...>

I have some XML data (UTF 8) that I'm trying to convert into another XML

13 messages 2012/10/30

Re: Name/symbol/object type clash? What is happening here?

From: Ryan Davis <ryand-ruby@...>
Date: 2012-10-25 20:54:44 UTC
List: ruby-talk #400616
On Oct 25, 2012, at 13:22 , Igor Pirnovar <lists@ruby-forum.com> wrote:

> Yossef Mendelssohn wrote in post #1081211:
> 
>> Just because something doesn't work the way you insist it must doesn't
>> mean it's broken.

exactly.

> If you claim that using accessors and '@' variables when reopening
> Struct classes with class idiom isn't broken, that's fine, but my last
> example I gave, clearly indicates differently!

Clearly? No. Your example is wrong, as shown by a simple -w:

9999 % ruby19 -w
 S = Struct.new(:num)
 class S
   attr_accessor :num
   def initialize(n); @num=n+5; end
   def num=(n); @num = n+5; end
 end
-:3: warning: method redefined; discarding old num
-:3: warning: method redefined; discarding old num=
-:5: warning: method redefined; discarding old num=

Reimplementing the accessors breaks the explicit contract of Struct. There's no point in doing so at all and your example is simply wrong. Breaking the contract of initialize is also wrong, you're not even calling super.

> If you do not need it to
> be consistent in those simple circumstances you use Struct idiom, that

Struct is not an idiom. It is a class. Its internals are an implementation detail. From the very first line of the rdoc on the class: "A Struct is a convenient way to bundle a number of attributes together, USING ACCESSOR METHODS" (emphasis mine).

> by no means discredits a more elaborate use, which clearly is broken,
> redundant and inconsistent, as I have shown in my previous sample code
> snippet, where you need to annul the Struct by the {{ attr_accessor :num
> }} line when you reopen the 'S' class, in order to be able to define
> more elaborate custom initialization accessor methods.

"Be able to"? You're blowing this WAY out of proportion:

% ruby19 -w
S = Struct.new(:num)
class S
  def initialize n
    super
    self.num = n + 5
  end
end
p S.new(10).num # => 15

Looks like it is more than able to.

> Let's not waste any more time on this issue. I think we all can tolerate
> this apparent glitch. At the same time reiterating that there should be
> as few exceptions as possible in the language grammar and its use
> certainly is not an out of line proposition.

This has nothing to do with grammar. Again, Struct is a class, not grammar.


In This Thread