对于以下代码
#!/usr/bin/ruby -w
nums = File::read("euler18nums.txt"); #opens file with number array inside.
parts = nums.split(' '); #save it into instance of an array.
t = [] #dimension one of the array of arrays.
s = [] #dimension two.
j=0 #iteration variable.
k=0 #iteration variable.
n=1 #iteration variable.
parts.collect do |i| #itterates through the array that i have my data in.
s[k] = i.to_i #converts strings to int and save into 2nd dimension.
k+=1
if k == n #number of itterations increase by one every time function is called.
t[j] = s
n+=1 #saves second dimension of array into the first,-
k=0 #-and this is where my problem is because it saves into and overwrites-
test=0 #-of the array that i have saved.
while test != n #this is a test statement to print out the array so far-
print t[test], "\n" #-every time a new array is saved into it
test+=1
end
j+=1
end
end
print t #prints out at the end, this is always just the last-
#-array printed out fifteen times
每当我将 s 保存到 t[j] 中时,它都会保存并覆盖到目前为止已创建的所有 t 实例,我是否误解了 ruby 数组,我假设t[5] = s
并且不会影响t[4]
或影响t[3]
。有没有办法做到这一点,其中红宝石只会为特定实例保存数组,还是我需要为此返回C++
?这个的txt文件是
75
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 04 28 06 16 70 92
41 41 26 56 83 40 80 70 33
41 48 72 33 47 32 37 16 94 29
53 71 44 65 25 43 91 52 97 51 14
70 11 33 28 77 73 17 78 39 68 17 57
91 71 52 38 17 14 91 43 58 50 27 29 48
63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23