Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby数组到HTML表_Html_Ruby_Arrays - Fatal编程技术网

Ruby数组到HTML表

Ruby数组到HTML表,html,ruby,arrays,Html,Ruby,Arrays,我正试图找到一种方法来获取Ruby数组并创建一个HTML表。数组是动态的,其内容根据用户选项和输入而变化,因此HTML表也需要是动态的 阵列的外观如下所示: array = [[a, 1, 2 ,3], [a, 1, 2 ,3], [a, 1, 2 ,3], [b, 1, 2 ,3], [b, 1, 2 ,3], [b, 1, 2 ,3], [c, 1, 2 ,3]] 我想做的是首先按以下方式对数组进行分组或拆分(尽管这可能不是必需的,我不知道) 然后在一个单独的HTML表中输出每个新数组,其

我正试图找到一种方法来获取Ruby数组并创建一个HTML表。数组是动态的,其内容根据用户选项和输入而变化,因此HTML表也需要是动态的

阵列的外观如下所示:

array = [[a, 1, 2 ,3], [a, 1, 2 ,3], [a, 1, 2 ,3], [b, 1, 2 ,3], [b, 1, 2 ,3], [b, 1, 2 ,3], [c, 1, 2 ,3]]
我想做的是首先按以下方式对数组进行分组或拆分(尽管这可能不是必需的,我不知道)

然后在一个单独的HTML表中输出每个新数组,其中
a
b
c
可能类似于标题/标题,然后子元素将是该表的新行。简而言之,我希望能够控制每个元素在表中的位置

我知道我的描述可能不太清楚,但这远远超出了我有限的技能范围,甚至难以解释我想要实现的目标。:)

编辑:以下是我试图实现的可视化目标。。。

以下是我的代码,它试图实现您想要的:

a = [["a", 1, 2 ,3], ["a", 1, 2 ,3], ["a", 1, 2 ,3],
     ["b", 1, 2 ,3], ["b", 1, 2 ,3], ["b", 1, 2 ,3], ["c", 1, 2 ,3]]
grouped = a.group_by{|t| t[0]}.values
header = "<tr><td>Name</td> <td>Length</td> <td>Width</td> <td>Depth</td> </tr>"
for portion in grouped
    str = "<table>\n" + header + "\n"
    for line in portion
        str += "<tr>"
        for element in line
            str += "<td>" + element.to_s + "</td>"
        end
        str += "</tr>\n"
    end
    str += "</table>\n"
    puts str
end
a=[“a”,1,2,3],“a”,1,2,3],“a”,1,2,3],
[“b”,1,2,3],“b”,1,2,3],“b”,1,2,3],“c”,1,2,3]]
分组=a.group|U由{t|t[0]}.值组成
header=“名称长度宽度深度”
对于分组中的部分
str=“\n”+标题+”\n”
对于部分中的行
str+=“”
对于行中的元素
str+=“”+element.to_s+“”
终止
str+=“\n”
终止
str+=“\n”
放置str
终止
它不是最漂亮的ruby,但至少生成的表如下所示:


请注意,这是一个html的图像屏幕截图,其中包括输出表。从现在起,你只需要稍微调整一下它们的样式

以下是我的代码,它试图实现您想要的:

a = [["a", 1, 2 ,3], ["a", 1, 2 ,3], ["a", 1, 2 ,3],
     ["b", 1, 2 ,3], ["b", 1, 2 ,3], ["b", 1, 2 ,3], ["c", 1, 2 ,3]]
grouped = a.group_by{|t| t[0]}.values
header = "<tr><td>Name</td> <td>Length</td> <td>Width</td> <td>Depth</td> </tr>"
for portion in grouped
    str = "<table>\n" + header + "\n"
    for line in portion
        str += "<tr>"
        for element in line
            str += "<td>" + element.to_s + "</td>"
        end
        str += "</tr>\n"
    end
    str += "</table>\n"
    puts str
end
a=[“a”,1,2,3],“a”,1,2,3],“a”,1,2,3],
[“b”,1,2,3],“b”,1,2,3],“b”,1,2,3],“c”,1,2,3]]
分组=a.group|U由{t|t[0]}.值组成
header=“名称长度宽度深度”
对于分组中的部分
str=“\n”+标题+”\n”
对于部分中的行
str+=“”
对于行中的元素
str+=“”+element.to_s+“”
终止
str+=“\n”
终止
str+=“\n”
放置str
终止
它不是最漂亮的ruby,但至少生成的表如下所示:

请注意,这是一个html的图像屏幕截图,其中包括输出表。从现在起,你只需要稍微调整一下它们的样式

或多或少是无状态的:-)

a=[“a”,1,2,3],“a”,1,2,3],“a”,1,2,3],
[“b”,1,2,3],“b”,1,2,3],“b”,1,2,3],“c”,1,2,3]]
分组=a.group|U由{t|t[0]}.值组成
header=“名称长度宽度深度”
表=分组的.map do |部分|
“\n”或多或少是无状态的:-)

a=[“a”,1,2,3],“a”,1,2,3],“a”,1,2,3],
[“b”,1,2,3],“b”,1,2,3],“b”,1,2,3],“c”,1,2,3]]
分组=a.group|U由{t|t[0]}.值组成
header=“名称长度宽度深度”
表=分组的.map do |部分|

“\n”是否可以给出给定数组的结果表布局示例,以便我们更好地了解所需的最终结果?还有,你在使用Rails吗?@Sergio,除了创建数组之外,我还没有做太多其他事情。事实上,我在不断学习,并试图找到一种方法来实现我想要的结果。如果你看看我的其他一些问题,你会注意到我一直在尝试不同的事情,但到目前为止都不是很好。:@安德鲁,不,我没有用rails。。。老实说,我甚至不知道那是什么。我将上传一个我正在尝试做的截图。。。谢谢你们两位@弗兰克:很公平。也许,你可以改进你的问题,使之符合要求。@Sergio,谢谢你的链接,我意识到我的问题不是很清楚。有时我很难用语言表达我想要的是什么,因为我不懂行话和所有的好东西我将尝试改进它…您可能正在寻找enum。以这种方式拆分数组的每个_切片可能会给出给定数组的结果表布局示例,以便我们更好地了解您想要的最终结果?还有,你在使用Rails吗?@Sergio,除了创建数组之外,我还没有做太多其他事情。事实上,我在不断学习,并试图找到一种方法来实现我想要的结果。如果你看看我的其他一些问题,你会注意到我一直在尝试不同的事情,但到目前为止都不是很好。:@安德鲁,不,我没有用rails。。。老实说,我甚至不知道那是什么。我将上传一个我正在尝试做的截图。。。谢谢你们两位@弗兰克:很公平。也许,你可以改进你的问题,使之符合要求。@Sergio,谢谢你的链接,我意识到我的问题不是很清楚。有时我很难用语言表达我想要的是什么,因为我不懂行话和所有的好东西我会尝试改进它…你可能正在寻找enum.each_切片以这种方式分割阵列哦,考古学家。未看到有关…的
。。。在
过一会儿。很好:)。但如果你允许我引用自己的话:“它不是最美丽的红宝石”。我也有一段时间没见过ruby了,但只要没有人愿意回答。。。我不介意你把我的密码翻译成现代考古学家鲁比奥。未看到有关…的
。。。在
过一会儿。很好:)。但如果你允许我引用自己的话:“它不是最美丽的红宝石”。我也有一段时间没见过ruby了,但只要没有人愿意回答。。。我不介意你把我的代码翻译成现代的rubyThanks来回复Tass和Boris,很抱歉我今晚之前没有时间尝试一下。但是当我运行代码时,我得到。。。错误:#我认为塔斯的回答是可以接受的,只是因为它是鲍里斯的一个干净版本。。。但公平地说,鲍里斯的作品也。。。谢谢你们两位谢谢塔斯和鲍里斯的回复,很抱歉我在今晚之前没有时间尝试一下。但是当我运行代码时,我得到。。。错误:#我将塔斯的答案设置为接受,因为它是c
a = [["a", 1, 2 ,3], ["a", 1, 2 ,3], ["a", 1, 2 ,3],
     ["b", 1, 2 ,3], ["b", 1, 2 ,3], ["b", 1, 2 ,3], ["c", 1, 2 ,3]]

grouped = a.group_by{|t| t[0]}.values
header = "<tr><td>Name</td> <td>Length</td> <td>Width</td> <td>Depth</td> </tr>"
table = grouped.map do |portion|
  "<table>\n" << header << "\n<tr>" << portion.map do |column|
    "<td>" << column.map do |element|
      element.to_s
    end.join("</td><td>") << "</td>"
  end.join("</tr>\n<tr>") << "</tr>\n</table>\n"
end.join("\n")
puts table