[#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: Robert Klemme <shortcutter@...>
Date: 2012-10-27 19:17:42 UTC
List: ruby-talk #400653
On Sat, Oct 27, 2012 at 9:14 AM, Igor Pirnovar <lists@ruby-forum.com> wrote:
> Robert, you continue pretending that you proved my point of view wrong
> by always providing only half of the solution, because you simply can
> not satisfy both requirements simultaneously.  Namely, I require that
> both 'initialize' method as well as the attribute accessor (i.e.: the
> setter) method work correctly in tandem when an expression rather than
> the simple assignment is required.

I have understood that but apparently you did not read my posting
properly or tested the code I provided.

> This code of yours simply doesn't work when using Struct, (nor does it
> work when you try to reopen 'S' as class, as was initially argued at the
> beginning of this thread):
>
>   S = Struct.new :a do
>     def initialize(a); self.a = a + 5; end
>     alias _a= a=
>     def a=(n) self._a= n + 5; end
>   end
>
>   s = S.new(0)
>   p s.a    #=> 10 WRONG!!!
>   s.a = 100
>   p s.a    #=> 105

Igor, that was not my code.  Your claim is wrong.  I posted this upthread:

S = Struct.new :num do
  alias _initialize initialize
  def initialize(n)
    super
    self.num = n
  end

  alias _num= num=
  def num=(n) self._num= n + 5 end
end

If you try that out you'll see this:

irb(main):011:0> S.new(0).num
=> 5
irb(main):012:0> x = S.new 0
=> #<struct S num=5>
irb(main):013:0> x.num
=> 5
irb(main):014:0> x.num = 10
=> 10
irb(main):015:0> x.num
=> 15

However, there's still a hole

irb(main):016:0> x[:num] = 5
=> 5
irb(main):017:0> x.num
=> 5

This (along with the fact that Ruby will return the reference passed
to an assignment and ignore the return value of the method)
demonstrates that the whole approach of changing the value while
assigning is at least questionable.

> Once again, Struct does not provide satisfactory solution to both above
> stated initialization requirements,

See upthread.

> because it does not obey Ruby's '@'
> instance variable semantics, and due to this now revealed Ruby grammar

See above, this has nothing to do with grammar and also it is
completely legal for Ruby classes to not exhibit their state via
instance variables.

"Grammar" in context of programming languages has a very specific meaning:
http://en.wikipedia.org/wiki/Formal_grammar

> inconsistency introduced by Struct, exposes broken blundering like yours
> as you try to botch your way out of it, when Ruby compounds double
> execution of expressions used in class/Struct initialization process
> (see my comment in your code: #=> 10 WRONG!!!).

Please stick to the facts.

These statements of yours brought me into the discussion:

On Tue, Oct 23, 2012 at 7:44 PM, Igor Pirnovar <lists@ruby-forum.com> wrote:
> Due to the problems shown above, perhaps Struct should be taken out of
> Ruby paradigm all together.
>
> [...] The use of 'Struct' should also be
> discouraged, and even worse, mixing Struct with class definitions and
> usage is ill advised.

That's like asking to ban hammers from all hardware stores because
they are badly suited to tighten screws.  You are claiming that Struct
is ill suited for a particular use case (which is debatable in itself)
and infer that Struct is generally not useful (or even harmful) and
should be taken out of the language.  You are free to use or not use
Struct based on your judgement, but please refrain from claiming that
Struct is useless, harmless or should be removed from the library on
such weak evidence.

Cheers

robert

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

In This Thread