scala中的别名方法?

时间:2016-10-14 07:21:16

标签: scala

我试图弄清楚Scala编程语言是否有一种别名方法(对于相同的内存位置存在两个或多个不同的引用方法)。

我可以看到类型别名的例子,例如" x:(Int,String)=(1,one)"。所以x有两种不同的类型,但是它们共享相同的内存吗?

如果有人能给出更多解释,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果你想要一个"变量"跟踪另一个,你可以做这样的事情。

string

这不是真正的别名。您无法修改@IBOutlet var firstButton: UIButton! @IBOutlet var secondButton: UIButton! @IBAction func didTouchUpInsideSwapButton() { let firstButtonText = firstButton.titleLabel?.text firstButton.setTitle(secondButton.titleLabel?.text, for: .normal) secondButton.setTitle(firstButtonText, for: .normal) } 并查看scala> var x = 5 // create a variable x: Int = 5 scala> def y = x // keep track of x y: Int scala> x = 9 // change x x: Int = 9 scala> y // yep, y changes too res1: Int = 9 中的更改。每次调用y时都会对其进行重新评估,因此每次查询x时,都会重新检查def当前值。

请注意,这种类型的东西不被认为是斯卡拉的好习惯。在功能编程中,你想要避免维护状态的数据结构,即如果你不需要,就不要使用y,而且好的Scala程序员几乎从不需要。