gpt4 book ai didi

arrays - 处理每个结果时如何使用不同的起点?

转载 作者:太空宇宙 更新时间:2023-11-03 16:21:13 24 4
gpt4 key购买 nike

我在连接数据时遇到问题,因为数组元素中的一条数据与下一个元素相关。这是基本字符串。

classes = ["2015 年 10 月 6 日星期二\n8:00am\n美国历史 9am\nAP 工程 10am\n现代电影 11:00am\n几何 1pm\n 英语 2:00pm\n体育 3pm\n艺术", "", ""]

我根据换行符将字符串拆分为一个数组,这使其可读。

classes = events.split("\n")

classes = ["Tue Oct 6, 2015","8:00am","American History 9am","AP Engineering10am","Modern Film 11:00am","Geometry 1pm","English 2:00pm","体育下午 3 点","艺术", "", ""]

麻烦的是,在第一次(上午 8:00)之后,所有后续时间都是每个元素中的最后一个“单词”,除了最后一个。糟糕的网页设计,我猜。

我尝试组装的正确输出是:

2015 年 10 月 6 日,星期二8:00am 美国历史上午 9 点 AP 工程上午 10 点现代电影上午 11:00 几何下午 1 点英语下午 2:00 体育课下午 3 点艺术

这是我运行的代码。

my_array = classes.drop(2)

date = classes.first
time1 = classes[1][0...6]
class1 = classes[2][0...55]
class1_trim = class1[/(.*)\s/,1]

p date
p "#{time1} #{class1_trim}"



x = my_array.length
y = x-1

(0..y).each do |k|

class_k = my_array[k][0...55]
class_k_trim = class_k[/(.*)\s/,1]
time_k = my_array[k][0...55].split(/\s+/).last

if k < y
p "#{time_k} #{class_k_trim}"
else
p "#{time_k} #{class_k}" #no need for trim on last element

end

end

问题是,时间和类不同步,因为它们从不同的元素开始。

我需要使用 my_array 的第二个元素的时间,与第三个元素的类连接。那么从第三个元素开始的时间就是第四个元素的开始时间,以此类推。

有人可以帮我做吗?

最佳答案

在我看来你不必进行拆分:

classes.first.tr(?\n, " ")
=> "Tue Oct 6, 2015 8:00am American History 9am AP Engineering10am Modern Film 11:00am Geometry 1pm English 2:00pm Physical Education 3pm Art"

虽然 10 之前没有空格。这是打错了吗?

编辑:

classes.first.split(?\n).each_cons(2).to_a
=> [["Tue Oct 6, 2015", "8:00am"], ["8:00am", "American History 9am"], ["American History 9am", "AP Engineering 10am"], ["AP Engineering 10am", "Modern Film 11:00am"], ["Modern Film 11:00am", "Geometry 1pm"], ["Geometry 1pm", " English 2:00pm"], [" English 2:00pm", "Physical Education 3pm"], ["Physical Education 3pm", "Art"]]

应该可以带你到那里。不过,您必须将第一个和最后一个元素视为特殊情况。

关于arrays - 处理每个结果时如何使用不同的起点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com