为什么我得到如下的输出?
if (requestCode==REQUEST_OK && resultCode==RESULT_OK) {
ArrayList<String> thingsYouSaid = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
for(String value : thingsYouSaid.get(0)){
if(value.equalsignorecase("switch off")){
// change value for switch to off
break;
}
else if(value.equalsignorecase("switch on")){
// change value for switch to on
break;
}
}
我希望得到3分和4分!我使用了错误的函数调用吗?
答案 0 :(得分:16)
这与功能无关 - 它与您输入列表项目的方式有关。您使用,
代替;
!
> List.length [1,2,3];;
val it : int = 1
> List.length [1;2;3];;
val it : int = 3
原因是[1,2,3]
是一个元组列表,只有一个项目:
> [1,2,3];;
val it : (int * int * int) list = [(1, 2, 3)]
请参阅输出中的(..)
- 遗憾的是,您可以输入(..)
以外的元组,而且很多都可以输入
如果您使用;
,则会获得包含3个元素的整理列表:
> [1;2;3];;
val it : int list = [1; 2; 3]