【问题标题】:Ruby Code Comment Within Quotes引号内的 Ruby 代码注释
【发布时间】:2013-06-04 07:11:06
【问题描述】:

我的 Ruby 脚本中有一个多行 SQL 命令字符串。我正在向 SQL 命令字符串添加一些额外的行,并希望用一些内联 cmets 来补充它。

mysql.query("CREATE TABLE If NOT EXISTS #{table}(
    application varchar(255),
    eventType varchar(255),
    eventTs datetime,
    eventDayWeek int,
    newColumnHere int, #Hello, I would like to be a comment
    eventHourDay int,

    ....)")

如何在一组引号内添加代码 cmets?

【问题讨论】:

  • 您向我们展示的代码有什么问题?有什么错误吗?
  • 显然没有问题。毕竟这确实有效,因为 MySQL 支持这种注释语法。

标签: ruby comments


【解决方案1】:

MySQL 确实支持comment syntax,因此您的代码应该可以正常工作。但是,我更喜欢使用“heredoc”:

mysql.query <<END
CREATE TABLE If NOT EXISTS #{table}(
    application varchar(255),
    eventType varchar(255),
    eventTs datetime,
    eventDayWeek int,
    newColumnHere int, #Hello, I would like to be a comment
    eventHourDay int,

    ....)
END

【讨论】:

  • “heredoc”是否与字符串“#{table}”中的变量一起使用?
【解决方案2】:

您可以将字符串一分为二,或者包含一条 SQL 注释。

对于第一个选项:

"CREATE TABLE ...
newColumnHere int, " +
# comment in ruby here
"eventHourDay int, ...

或者第二个选项:

newColumnHere int,  -- SQL comments from double dash to end of line
eventHourDay int,

【讨论】:

    猜你喜欢
    • 2012-10-19
    • 1970-01-01
    • 2011-12-27
    • 2010-10-11
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多