1

我是这个论坛的新手,我请求您就 groovy 的问题提供帮助:我不明白为什么下面的代码会返回 EOF 错误...

arUserName=UserName.split(" ");

UserLastName='';

for ( i in 1..arUserName.length -1 )
{
UserLastName=UserLastName + arUserName[i];
}
UserLogin=UserLastName;
UserLogin=UserLogin.toLowerCase();

返回的错误如下: 无法执行 groovy 函数:启动失败:Script225.groovy:1:期待 EOF,在第 1 行第 134 列找到 'UserLogin'。erLastName + arUserName[i]; } UserLogin= ^ 1 错误

任何想法 ?

提前致谢!拉鲁恩

4

2 回答 2

0

我这是由于调用 split() 时 UserName 为 null 或未定义而引起的

在 UserName.split(" ")

所以 arUserName 也将为空或未定义。

所以请为 UserName 分配一些值,然后检查您是否得到正确的结果。

于 2012-07-06T10:28:27.480 回答
0

将您的代码粘贴到 Groovy 控制台(在顶部添加 UserName 以便它工作):

UserName = 'Tim Yates'

arUserName=UserName.split(" ");

UserLastName='';

for ( i in 1..arUserName.length -1 )
{
UserLastName=UserLastName + arUserName[i];
}
UserLogin=UserLastName;
UserLogin=UserLogin.toLowerCase();

工作正常。

不过,作为与代码风格无关的简要说明,通常以小写字母作为变量名的前缀,并且您的代码可以以更 Groovy 的方式编写,如下所示:

userName = 'Tim Yates'

userLogin = userName.split(" ")    // Split on space
                    .drop( 1 )     // Drop the first element
                    .join()        // Join strings together
                    .toLowerCase() // Convert to lowercase
于 2012-07-06T07:16:28.747 回答