Project1
标题:
请问一个问题
[打印本页]
作者:
kvkv97
时间:
2022-7-23 22:59
标题:
请问一个问题
class Game_Follower
def initialize(i,j)
end
end
@followers=Array.new(3) do |i|
Game_Follower.new(i+1,i+1)
end
p @followers
显示的结果是 [<Game_Follower1>,<Game_Follower2>,<Game_Follower3>]
请问:电脑的运行思路是怎样的?为什么下面的程序是这样的?
roulette = []
@a = 2.times { |i| roulette.push(i)}
p @a
显示的结果是2,为什么块里面的 roulette.push(i)影响不了2?
作者:
enghao_lim
时间:
2022-7-23 23:21
times 是函数,返回的值就是该integer,代码块里头会执行从0到该数值-1的操作。
2.times {} #=> 2
5.times {} #=> 5
复制代码
所以@a取返回值2。
至于array.new是构造函数,返回的是新的对象。
@a = Array.new(3) do |i| i end
p @a
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1