对于那些在那里的scala专家,我目前正在为我的大学课程编写代码,并且编译器抛出错误,我不确定该如何解决。
以下代码应仅调用菜单选项:
def menu(option: Int): Boolean = {
actionMap.get(option) match {
case Some(f) => f()
case None =>
println("ERROR: Please enter an option between 1-8")
true
}
}
Run Code Online (Sandbox Code Playgroud)
编译器不喜欢这一行:
case Some(f) => f()
Run Code Online (Sandbox Code Playgroud)
更具体地说,它不喜欢
=> f()
Run Code Online (Sandbox Code Playgroud)
我对函数式编程和scala完全陌生,因此,任何技巧或线索都很棒。
谢谢
只是想知道是否有人知道如何使以下if语句更具功能性:
val value1 = 8
val value2 = 10
if(val1 > val2){
println("\n" + stock1 + " has the highest current value")
}else if(val1 < val2){
println("\n" + stock2 + " has the highest current value")
}else if(val1 == val2)){
println("\nThe current value for " + stock1 + " is equal the current value for " + stock2)
}
Run Code Online (Sandbox Code Playgroud)
如果有人可以提出建议,我将非常感激.
谢谢
我目前正在开发一个用react-native 编写的移动应用程序。该项目有许多不同的屏幕,所有这些屏幕都使用 createStackNavigator 进行配置。
我需要能够动态更改动画方向。我可以在应用程序的不同部分导航到同一页面,但需要不同的动画。(动画是指当前屏幕退出视图的方向)
我知道在定义选项以设置导航方向时可以将选项传递到屏幕。不幸的是,这对我来说没有用,因为动画可能会因页面而异。
我的项目中的示例屏幕声明(名称已被清理):
<NavigationContainer ref={navigationRef}>
<Stack.Navigator initialRouteName={initialRoute}>
<Stack.Screen name="screen1" component={screen1} options={{headerShown: false, gestureEnabled: false}} />
<Stack.Screen name="screen2" component={screen2} options={{headerShown: false, gestureEnabled: false}} />
<Stack.Screen name="screen3" component={screen3} options={{headerShown: false, gestureEnabled: false}} />
<Stack.Screen name="screen4" component={screen4} options={{headerShown: false, gestureEnabled: false}} />
</Stack.Navigator>
</NavigationContainer>
Run Code Online (Sandbox Code Playgroud)
导航重置示例:
navigation.reset({
index: 0,
routes: [{ name: "screen1", params: { param1: 'paramStrData' } }]
});
Run Code Online (Sandbox Code Playgroud)
导航替换示例:
navigation.replace('screen2', { param1: 'param1StrData'})
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望能够将导航动画方向传递给替换或重置功能。
这是可能吗?
再次提前致谢。