scala中s代表什么?

大哥大姐,打扰一下,scala中s代表什么?
最新回答
傲似公主

2024-04-11 01:43:35

不知道具体指的是什么?

Scala 2.10.0 为我们提供了三种

字符串
插值的方式,分别是 s, f 和  raw。它们都是定义在 StringContext 中的方法。

s 字符串插值器

可以解析字符串中的变量,可以调用方法,还能进行计算。实际调用的是  StringContext 中的  s 方法。

val name = "Unmi"

println(s"Hello $name")   //Hello Unmi, 实际上就是调用的 StringContext("Hello, ", "").s(name)

println(s"Hello ${name}qq) //Hello Unmiqq 界定变量用

大括号
{},s"Hello $nameq" 会试图解析变量  nameqq

println(s"1 + 1 = ${1 + 1} ) //1 + 1 = 2,能计算值

class Person(val name: String){

def say(what: String) = s"say $what"

}

val person = new Person("Unmi")

println(s"Hello ${person.name}, ${person.say(person.name)}")   //Hello Unmi, say Unmi, 这个比较复杂

用大括号可以界定变量,{} 里可以求值,还可以使用属性和调用方法。