gpt4 book ai didi

Ruby 语法错误,意外的 tLABEL

转载 作者:数据小太阳 更新时间:2023-10-29 08:15:43 25 4
gpt4 key购买 nike

编辑:

我创建了 a package现在根据 GNU 公共(public)许可证在 GitHub 上发布。非常感谢大家在这个问题上的帮助!

使用这部分脚本:

line = { TransactionType: "Payment",
Account: #{xagate},
Destination: #{destinationAddress},
Amount: {
currency: "TST",
value: "#{destAmount}",
issuer: "rKYHqy2QWbf5WThp7vdJAxTR3WBHKDh9xv"
}

我收到此错误:

syntax error, unexpected tLABEL
Destination: #{destinationAddress},
^

是什么导致了这个语法错误?下面接受的答案解释了如何修复此错误。至于 Ripple JSON,我发现 rippled 服务器软件的 err29 是缺少 Fee 和 Sequence 字段的结果。如果您也遇到此问题,则正在此线程中调查答案:https://forum.ripple.com/viewtopic.php?f=2&t=15599

最佳答案

unexpected tLABEL ,以我的经验,意味着表达式或 block 没有正确结束。 Ruby 正在读取您的代码作为

line = { TransactionType: "Payment",
Account: Destination: # STOPS HERE from error

line是您正在制作的散列。哈希遵循以下格式:{ key => value }{ key: value } .看起来您正在遵循第二种格式。正如您在上面看到的,Ruby 将您的代码读取为 { key: {key: } }第二个键的值丢失。

在字符串之外,# symbol 告诉 Ruby “从这里到行尾的所有内容都是注释。”您可以使用 StackOverflow 语法荧光笔将 Ruby 注释标记为灰色轻松看到这一点。

但是在一个字符串中,#用于字符串插值,这似乎是您要实现的目标。字符串插值包括围绕文本的 引号,如下所示:"Hello, #{planet}" , 其中#{}是您放置变量的位置。

这是使用字符串插值编写代码的方式:

Account: "#{xagate}",
Destination: "#{destinationAddress}",

如果您稍后查看代码,您实际上是在使用 line[Amount][value] 执行此操作(即 "#{destAmount}" )

由于您的字符串 包含内插的对象,因此我建议改为使用以下内容。首先,您可以调用to_s在对象上,将其转换为字符串。如果对象是数组,则字符串将包含逗号和方括号。其次,你可以简单地做 Account: xagate .这简单得多,因为您可以根据变量检查值,而不是检查包含变量的字符串。 (少了一个处理步骤!)

最后,正如您在聊天中提到的,您是 Ruby 的新手。标准约定是所有以大写字母开头的对象(如 Account)指代,大写的对象是常量。这不是您出错的原因,尽管现在开始修复此问题是一种很好的做法...以防止可能由此产生的问题。

关于Ruby 语法错误,意外的 tLABEL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32279232/

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