gpt4 book ai didi

ballerina - 如何从 Ballerina 的命令行读取 int?

转载 作者:行者123 更新时间:2023-12-01 11:16:18 25 4
gpt4 key购买 nike

any choice = io:readln("Enter choice 1 - 5: ");

我似乎无法将输入转换为 int。

检查和匹配都给出了相同的错误
var intChoice = <int>choice;
match intChoice {
int value => c = value;
error err => io:println("error: " + err.message);
}


c = check <int>choice;


error: 'string' cannot be cast to 'int'

我查看了 https://ballerina.io/learn/by-example/type-conversion.html还学习了 https://ballerina.io/learn/api-docs/ballerina/io.html#readln但没有运气。

我究竟做错了什么?

最佳答案

似乎是 any -> int 中的一个错误转换。

如果您将选择变量类型更改为 string或使用 var 将变量定义语句更改为赋值语句,这两种方法都有效。请引用下面的例子。

import ballerina/io;

function main(string... args) {
// Change the any to string or var here.
string choice = io:readln("Enter choice 1 - 5: ");
int c = check <int>choice;
io:println(c);

var intChoice = <int>choice;
match intChoice {
int value => io:println(value);
error err => io:println("error: " + err.message);
}
}

更新 - 正如@supun 在下面提到的,这不是 any->int 中的错误转换,这是一个我不知道的实现细节。

关于ballerina - 如何从 Ballerina 的命令行读取 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50666487/

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