gpt4 book ai didi

ruby - ruby 中带有多行字符串的空格

转载 作者:数据小太阳 更新时间:2023-10-29 07:02:56 28 4
gpt4 key购买 nike

我有一个多行字符串的空白问题。

我在生成一些 SQL 的代码中有类似的内容。

def generate_sql
<<-EOQ
UPDATE page
SET view_count = 10;
EOQ
end

但是我的 SQL 缩进全乱了,这是我不想要的。

"       UPDATE page\n          SET view_count = 10;\n"

我能做到

    def generate_sql
<<-EOQ
UPDATE page
SET view_count = 10;
EOQ
end

输出的正是我想要的

"UPDATE page\n   SET view_count = 10;\n" 

但是我的代码缩进全乱了,我真的不想要这样。

关于如何最好地实现我所追求的目标有什么建议吗?

最佳答案

Ruby 2.3.0 使用 squiggly heredoc 很好地解决了这个问题.请注意示例之间波浪号/连字符的区别。

hyphen_heredoc = <<-MULTILINE_STRING
One line
Second line
Indented two spaces
MULTILINE_STRING

squiggly_heredoc = <<~MULTILINE_STRING_WITH_TILDE
One line
Second line
Indented two spaces
MULTILINE_STRING_WITH_TILDE

2.3.0 :001 > puts hyphen_heredoc
One line
Second line
Indented two spaces
2.3.0 :002 > puts squiggly_heredoc
One line
Second line
Indented two spaces

有了波浪形的 heredoc,least-indented 行的缩进将从内容的每一行中移除。

关于ruby - ruby 中带有多行字符串的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14127193/

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