我在一个项目中采用了Sorbet,但我不知道应该如何键入以下常量:
RETRIEVE_FILE_URL_QUERY = <<~QUERY.freeze
query($input: ID!) {
node(id: $input) {
... on BulkOperation {
url
partialDataUrl
}
}
}
QUERY
最快的方法应该是
RETRIEVE_FILE_URL_QUERY = T.let(<<~QUERY.freeze
query($input: ID!) {
node(id: $input) {
... on BulkOperation {
url
partialDataUrl
}
}
}
QUERY, String)
这也是我从vscode得到的快速修复
但这产生了误差
escape sequence meets end of file (2001)
型
正如预期的那样,因为无法再找到heredoc名称。
所以我试了
RETRIEVE_FILE_URL_QUERY = T.let(<<~QUERY.freeze
query($input: ID!) {
node(id: $input) {
... on BulkOperation {
url
partialDataUrl
}
}
}
QUERY
, String)
但这又产生了另一个错误:
T.untyped
unexpected token "," (2001)
有了这个,我不知道该怎么处理。
我知道我可以使用连接操作符(+
),但是我不想拆分这个字符串。
我对ruby还是个新手,所以我想问你是否有办法解决这个问题。
1条答案
按热度按时间h22fl7wq1#
你的“最快”方式违反了语法。终止标记 * 必须 * 单独在一行上。
执行此操作时:
您放入了终止符标记
QUERY
以外的内容,因此假定字符串继续。记住,Ruby有多种引用系统,并且对多行基本上没有影响,例如:
在那里你也可以使用
# frozen_string_literal: true
来自动冻结。