Nekem ezek a tömbök vannak:
positions = [[0, 1, 2], [2, 3]]
values = [[15, 15, 15], [7, 7]]
keys = [1, 4]
Létre kell hoznom egy hash-t, amelynek kulcsai keys
, az értékek pedig values
-ból származnak. Az értékeknek a positions. If no index is defined,
nil-ben meghatározott indexeken kell lenniük, hozzá kell adni ehhez az indexhez.
A három tömb ugyanannyi elemet tartalmaz; Az keys
két elemből áll, values
kettőből és positions
kettőből. Szóval rendben van.
Várható kimenet:
hash = {1=>[15, 15, 15, nil], 4=>[nil, nil, 7, 7]}
.next
-t használja a ` + 1` helyett? 05.04.2017+ 1
-t, ha már írtam valamilyen képletetx * y - z + 1
. Kicsit furcsa keverni az angol magyarázatokat (más néven metódushívások/láncok) matematikai jelölésekkel (más néven műveletek+
és számok1
) és fordítva. De ez egy apró dolog, és nagyon sok vélemény alapú. 05.04.2017Enumerator#next
-vel. A `+1` kevésbé kétértelmű IMHO. 05.04.2017positions.flatten.max.public_send(:+, 1)
-t :) 05.04.2017String#next
is. Az ötlet az, hogy sok ?következő? dolog van a Rubyban, csakúgy, mint sok olyan dolog, amelyhez hozzáadhatja a1
elemet. Tisztában kell lennie azzal, hogy mi a koncepció a ?következő? dolog mögött. De ha úgy tetszik, használhatja helyette a#succ
-t. 05.04.2017next
itt tökéletesen rubinos :) 05.04.2017row_size = positions.flatten.max + 1 # Believe me, I'm a nerd!
;) 05.04.2017#next
használata nyilvánvalóan 57/11-szer jobb, mint a + 1. (: 05.04.2017