gpt4 book ai didi

grails - Grails/Groovy编译器错误之谜

转载 作者:行者123 更新时间:2023-12-02 14:16:38 25 4
gpt4 key购买 nike

这行代码:

def exists = (existingIndRecs.find{ existant -> existant.uniqueId == incomingRecord.uniqueId}​​​​​ ? true : false)

在编译时导致此错误:
/FileImportService.groovy: 184: expecting ')', found '​​​​​' @ line 184, column 100.
Id == incomingRecord.uniqueId}​​​​​ ? tr
^

1个错误

如果我将这一行注释掉,则文件中其余776行代码可以正常编译。我在Groovy Web控制台中尝试了这一行,那里没有问题。奇怪。

最佳答案

您的源代码中必须包含一些特殊字符。
当我打开groovyConsole并输入以下内容时:

class Record {
int uniqueId;
Record(int uniqueId) { this.uniqueId = uniqueId; }
}
def existingIndRecs = [new Record(1), new Record(2)]
def incomingRecord = new Record(1)
def exists = (existingIndRecs.find{ existant -> existant.uniqueId == incomingRecord.uniqueId} ? true : false)

有用。当我用您的最后一行替换(视觉上相同)时,它失败并显示
expecting ')', found '​​​​​' at line: 7, column: 94

我做了一个hexdump diff,看到了以下内容:
$ diff -u 1.hex 2.hex
--- 1.hex 2014-07-13 19:32:02.343929086 -0400
+++ 2.hex 2014-07-13 19:32:05.419928970 -0400
@@ -3,7 +3,6 @@
00000020 6e 64 7b 20 65 78 69 73 74 61 6e 74 20 2d 3e 20 |nd{ existant -> |
00000030 65 78 69 73 74 61 6e 74 2e 75 6e 69 71 75 65 49 |existant.uniqueI|
00000040 64 20 3d 3d 20 69 6e 63 6f 6d 69 6e 67 52 65 63 |d == incomingRec|
-00000050 6f 72 64 2e 75 6e 69 71 75 65 49 64 7d e2 80 8b |ord.uniqueId}...|
-00000060 e2 80 8b e2 80 8b e2 80 8b e2 80 8b 20 3f 20 74 |............ ? t|
-00000070 72 75 65 20 3a 20 66 61 6c 73 65 29 0a |rue : false).|
-0000007d
+00000050 6f 72 64 2e 75 6e 69 71 75 65 49 64 7d 20 3f 20 |ord.uniqueId} ? |
+00000060 74 72 75 65 20 3a 20 66 61 6c 73 65 29 0a |true : false).|
+0000006e

谷歌表示e2 80 8b是“零宽度空间”,无论这意味着什么。

关于grails - Grails/Groovy编译器错误之谜,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24727628/

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