如何在双引号字符串中添加换行符

时间:2014-04-13 12:01:11

标签: ruby

我有一些像这样的代码:

system("notify-send -i 
  #{Dir.pwd}/#{file} 
  #{parsed_songlist["song"][0]['title']} 
  #{parsed_songlist["song"][0]['artist'].concat("#{parsed_songlist["song"][0]['albumtitle']}")} )

专辑标题遵循艺术家的名字。如何在它们之间添加换行符?

4 个答案:

答案 0 :(得分:1)

"\n"放在要添加的字符串之前。

答案 1 :(得分:1)

试试这个:

"\'#{parsed_songlist['song'][0]['title']}\' 
\'#{parsed_songlist['song'][0]['artist']}\n#{parsed_songlist['song'][0]['albumtitle']}\'"

您的命令中的问题是,如果您的标题/艺术家/专辑包含多个单词,例如hello hi,那么在命令中它将显示为notify-send -i /home/username/file hello hi ...

所以你可以看到那些多字词'标题'转换为notify-send的两个争论者。 要解决此类问题,请使用上面我使用的\'

然而,' \ n'足以在双重qouted字符串中添加换行符。

这是我上面用的时候得到的

enter image description here

答案 2 :(得分:0)

使用join

system("notify-send -i 
  #{Dir.pwd}/#{file} 
  #{parsed_songlist["song"][0]['title']} 
  #{ [
       parsed_songlist["song"][0]['artist'],
       parsed_songlist["song"][0]['albumtitle']
     ].join("\n") }"
)

答案 3 :(得分:0)

我认为\n就足够了:

"#{parsed_songlist["song"][0]['artist']".concat("\n#{parsed_songlist["song"][0]['albumtitle']")