相关疑难解决方法(0)

斯卡拉游戏编程:以功能风格推进对象位置

很长一段时间java程序员慢慢学习scala(顺便爱上它),我认为我的思想仍然围绕着功能性写东西的概念.现在我正在尝试为一些移动的2D纹理编写一个简单的可视化器.命令式方法很简单,我相信大多数人都会认识到这个相对无处不在的代码块(改变了东西以保护无辜者):

class MovingTexture(var position, var velocity) extends Renders with Advances {
    def render : Unit = {...}
    def advance(milliseconds : Float) : Unit = {
        position = position + velocity * milliseconds
    }
}
Run Code Online (Sandbox Code Playgroud)

这段代码可以正常工作,但它有大量的可变状态,其功能充满了副作用.我不能让自己逃脱这一点,必须有更好的方法!

有没有人对这个简单的问题有一个惊人,优雅,实用的解决方案?有谁知道我可以学到更多解决这些问题的来源?

functional-programming scala

13
推荐指数
2
解决办法
1799
查看次数

标签 统计

functional-programming ×1

scala ×1