【问题标题】:Creating multiple objects inside loop在循环内创建多个对象
【发布时间】:2014-12-08 14:37:34
【问题描述】:

下面的代码覆盖@journey_lines 10 次,只留下最后一个旅程保存为一个数组。我想为每个旅程(1 到 10)创建一个新的数组对象。

# Save text file to string
data = File.read("workdata.txt")

# Split string into blocks of text relevant to each journey
journeys = data.split(/\n\s\n/)

# Store the amount of journeys as a variable called journeys_size
journeys_size = journeys.length

# Split each journey into lines and save to an array called "journey_lines"
journeys[1..10].each { |i| @journey_lines = i.split(/\n/) }

# Inspect journey_lines 
p @journey_lines

有没有办法在迭代值中插入一个变量?有点像...

journeys[1..#journeys.size].each { |i| @journey_lines[1..#journeys_size] = i.split(/\n/) }

或者一个更好的方式来一起做这一切。我一直在尝试这样做一段时间。请帮忙!

【问题讨论】:

    标签: ruby loops object iteration


    【解决方案1】:

    您应该改用map 方法

    @journey_lines = journey.map {|item| item.split(/\n/) }
    

    【讨论】:

    • 您可以使用lines 代替split(/\n/),只要全局变量$/ 等于其默认值\n
    猜你喜欢
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多