gpt4 book ai didi

javascript - 使用 haml 在 javascript 中打印 Ruby

转载 作者:行者123 更新时间:2023-11-28 08:36:13 24 4
gpt4 key购买 nike

我在 javascript 代码中使用 haml 时尝试打印一些 ruby​​ 变量时遇到问题。

我有一个名为“@matrix”的变量,它是一个矩阵。我需要做的是打印给定矩阵的每一行,最终得到如下所示的结果:

  ['Year', 'Sales', 'Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]

问题是我似乎无法使用 ruby​​ 变量获得正确的格式。我在 stackoverflow 中看到了一些类似的问题,但是即使在尝试了不同的方法来实现我所读到的内容之后,我也没有成功。

我的实际代码如下:

  ['Year', 'Sales', 'Expenses'],
#{
for i in 0..@matrix.row_count
puts @matrix.row(i).to_a.to_s+","
end
}

这应该给我矩阵的每一行(这正是我想要的),但是我得到的错误是 for 循环无法识别,打印的内容是实际上0..66

任何有关如何解决此问题的方法将不胜感激。谢谢。

最佳答案

您的问题是您不想打印这些字符串;你想要对它们进行插值。 for 循环只返回它循环的集合,这就是为什么你得到“0..66”。您想要返回您正在打印的字符串的东西。

不要使用 for 循环,尝试这样的事情:

(0..@matrix.row_count).map {|i| @matrix.row(i).to_a.to_s }.join(',')

(顺便说一句,我不建议使用 Array#to_s 进行这样的输出。它的格式之前已经更改过,并且可以再次更改。我会考虑使用更像 "[# {matrix.row(i).to_a.join(',')}]",您可以在其中明确指定数组的格式。)

关于javascript - 使用 haml 在 javascript 中打印 Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146605/

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