J
Jan Reitz
I used PHP for a long time, a little bit C# and recently started to
learn about Ruby.
I do like Ruby very much from the first looks
It has "my_array.sort" like in c#, not that ugly (imo) "sort($myarray)"
And it has q'n'd qualitys like php for example: definition at first
assignment, no need for interfaces and so on.
But! one thing i really miss from PHP just writing :
$my_array[4][5] = "moep"; (no initialize before)
this does not work in ruby, i had to
my_array = Array.new(16) { Array.new 16 }
first.
and if the array wasn't great enough i end up with element 16 (the
17th) complaining:
NoMethodError: undefined method `[]=' for nil:NilClass
(this only occurs at "my_array[16][5] = 1",
not at "my_array[4][16] = 1")
hm, so i thought, if NilClass has no []= method, why dont i define it,
(i read very often that this is rubys great adv. over most languages
out there, that u can extend even the basic classes), so it becomes an
array in that place... but that included "self = Array.new" which
caused another complaint: "Can't change the value of self"
I read alot of topics about cant change value of self, and i think that
i have a different problem than these discussed before.
i dont want to 1.next! => 2 so please dont tell me that i can't do
that, i know that, and i know its junk
i want just:
hans = nil (or even omit this line)
hans[1] = "test"
or
my_array = Array.new(16) { Array.new 16 }
my_array[16][1] = 1
not:
nil[1] = "test"
I hope my English was well enough to be understood.
- Jan Reitz
learn about Ruby.
I do like Ruby very much from the first looks
It has "my_array.sort" like in c#, not that ugly (imo) "sort($myarray)"
And it has q'n'd qualitys like php for example: definition at first
assignment, no need for interfaces and so on.
But! one thing i really miss from PHP just writing :
$my_array[4][5] = "moep"; (no initialize before)
this does not work in ruby, i had to
my_array = Array.new(16) { Array.new 16 }
first.
and if the array wasn't great enough i end up with element 16 (the
17th) complaining:
NoMethodError: undefined method `[]=' for nil:NilClass
(this only occurs at "my_array[16][5] = 1",
not at "my_array[4][16] = 1")
hm, so i thought, if NilClass has no []= method, why dont i define it,
(i read very often that this is rubys great adv. over most languages
out there, that u can extend even the basic classes), so it becomes an
array in that place... but that included "self = Array.new" which
caused another complaint: "Can't change the value of self"
I read alot of topics about cant change value of self, and i think that
i have a different problem than these discussed before.
i dont want to 1.next! => 2 so please dont tell me that i can't do
that, i know that, and i know its junk
i want just:
hans = nil (or even omit this line)
hans[1] = "test"
or
my_array = Array.new(16) { Array.new 16 }
my_array[16][1] = 1
not:
nil[1] = "test"
I hope my English was well enough to be understood.
- Jan Reitz