当前位置: 首页 > news >正文

网站的域名是什么意思在线crm软件

网站的域名是什么意思,在线crm软件,网络seo外包,wordpress微信注册登录界面Scala 03 —— Scala Puzzle 拓展 文章目录 Scala 03 —— Scala Puzzle 拓展一、占位符二、模式匹配的变量和常量模式三、继承 成员声明的位置结果初始化顺序分析BMember 类BConstructor 类 四、缺省初始值与重载五、Scala的集合操作和集合类型保持一致性第一部分代码解释第二… Scala 03 —— Scala Puzzle 拓展 文章目录 Scala 03 —— Scala Puzzle 拓展一、占位符二、模式匹配的变量和常量模式三、继承 成员声明的位置结果初始化顺序分析BMember 类BConstructor 类 四、缺省初始值与重载五、Scala的集合操作和集合类型保持一致性第一部分代码解释第二部分代码解释 六、for和map的区别 一、占位符 val list1:List[Int] List(1,2,3).map(_ 1) val list2:List[Int] List(1,2,3).map(r r 1)在上面的例子中两代码的返回结果其实是一样的都是 List(2,3,4),而在第一行中的 _叫做占位符可以让我们的代码更加简洁 但是这并不意味着使用 _ 和箭头函数是同样的结果 val list1:List[Int] List(1,2,3).map{println(ss);_ 1} val list2:List[Int] List(1,2,3).map{r println(ss);r 1}在上面的代码中看起来运行的结果还是一样的但是事实却不是这样的当然 list1 和 list2的返回值是一样的但是执行的过程中打印的结果却是不一样的 第一行代码打印了一行 ss第二行代码打印了三行 ss 为什么会有这样的不同 Map函数的本质是对每个集合中的元素应用一个函数第一个语句中函数的执行体只是_1第二个语句中函数的执行体是println(ss);r 1。 二、模式匹配的变量和常量模式 变量模式模式匹配的标识符是小写字母作用是赋值 val (x,y) (1,2)常量模式模式匹配的标识符是大写字母该常量必须是已赋值的否则会报错作用是判断 val (X,Y) (1,2)// 报错 x match {case PI 圆周率 }三、继承 成员声明的位置 trait A{val audience:Stringprintln(Hello audience) } class BMember (a:String World) extends A{override val audience: String aprintln(I repeat:Hello audience) }class BConstructor(val audience:String World) extends A{//该种方法声明的变量不会存在null的情况println(I repeat:Hello audience) } new BMember(reader) new BConstructor(reader)结果 Hello null I repeat:Hello reader Hello reader I repeat:Hello reader初始化顺序分析 BMember 类 调用构造器当创建 BMember 的实例时首先初始化父类 A。父类 A 的初始化在 Scala 中父类的构造代码块包括字段的初始化和任何其他语句首先被执行。在 A 中audience 还未被 BMember 初始化因此其值为 nullString 类型的默认值。打印语句执行打印 Hello audience由于 audience 还是 null输出 Hello null。子类 BMember 的字段初始化初始化 audience 为传入的参数 reader。子类中的打印语句接着执行 BMember 中的打印语句输出 I repeat: Hello reader。 BConstructor 类 构造器参数在 BConstructor 类中audience 是通过构造器参数直接定义的。这意味着在调用父类 A 的构造器之前audience 已经被初始化。父类 A 的初始化由于 audience 已经初始化为 reader当父类 A 中的打印语句执行时输出 Hello reader。子类中的打印语句紧接着在 BConstructor 中再次打印 I repeat: Hello reader。 总结 一般来说子类在初始化时会先初始化父类构造器构造出父类对象因为子类可能有依赖于父类对象的属性或方法。 作为类字段被赋值在父类构造器执行后才初始化作为构造参数被赋值在父类构造器执行前初始化。 四、缺省初始值与重载 trait A {val foo: Int //缺省初始值Boolean缺省初始值是falseUnit缺省初始值是()def bar: Int 10 //附初值的变量后面只能用overrideprintln(sIn A:foo$foo,bar$bar) //0,0,0 }class B extends A {val foo: Int 25println(sIn B:foo$foo,bar$bar) //25,36,0} class C extends B {override val foo: Int 46 //当一个val被重载的时候只能初始化一次override def bar: Int 100println(sIn C:foo$foo,bar$bar) //25,36,99}new C()/* In A:foo0,bar100 In B:foo0,bar100 In C:foo46,bar100 */字段初始化顺序像val foo:Int字段初始化发生在构造器体执行之前但超类的构造器包括 println 语句会在任何子类字段初始化之前执行。 方法动态绑定像def bar:Int5Scala 会使用动态绑定来决定应该调用哪个版本的方法。即使在超类的构造器中也会调用最终重写的方法版本在 C 中为 100。 字段重写foo 在子类中被重写但在超类和任何父类的构造器中引用这个字段时它们看到的是其默认值在赋值之前直到子类自己的构造器赋予它新值。 当一个 val被重载只能初始化一次 五、Scala的集合操作和集合类型保持一致性 def sumSizes(collections:Iterable[Iterable[_]]):Int {// println(scollections:$collections)// println(collections.map(_.size))collections.map(_.size).sum }第一部分代码解释 println(sumSizes(List(Set(1,2),List(3,4))))在这里输入是List类型的包含两个集合一个Set和一个List。List映射map操作会返回一个新的List其中包含每个子集合的大小 Set(1, 2)的大小为2因为集合中不允许重复值List(3, 4)的大小为2 因此map(_.size)返回List(2, 2)其和为4。 第二部分代码解释 println(sumSizes(Set(List(1,2),Set(3,4))))这里输入是Set类型的。由于Set在map操作后仍保持Set类型而且不允许重复值它会影响结果 List(1, 2)的大小为2Set(3, 4)的大小也是2 由于结果Set不能有重复值map(_.size)产生的结果是Set(2)其和为2因为只有一个元素。 def sumSizes1(collections:Iterable[Iterable[_]]):Int {collections.toSeq.map(_.size).sum }不管是什么集合类型都将其转换成Seq 六、for和map的区别 val ys for(Seq(x,y,z) - xs) yield xyz这里的for表达式等价于先进行withFilter过滤掉不符合模式Seq(x, y, z)的元素然后对过滤后的元素应用map。因此Seq(g,h)因为只有两个元素而被忽略不参与后续的map操作。 val zs1 xs map {case Seq(x,y,z) xyz}当遇到Seq(g, h)时模式Seq(x, y, z)无法匹配只有两个元素的序列因此Scala抛出了MatchError。
http://www.pierceye.com/news/50592/

相关文章:

  • 做视频网站违法么网站开发与推广方向
  • 旅游网站的建设方案优秀毕业设计网站设计
  • 做阿里巴巴网站应怎样定位wordpress ftp连接不上
  • 东莞建工集团企业网站可以做翻译任务的网站
  • 做软件的网站建设企业查询系统官网入口
  • 网站开发用怎么语言房产网站推广方法
  • 设计网站首页1企业网站管理系统 cms
  • 什么是网站建设的基础西安危机公关公司
  • 网站界面ui设计注册公司代理记账公司
  • 找人做网站协议网站 设计 工具
  • 建设网站服务器的方式有自营方式动漫制作教学
  • 几百元做网站学习建站的网站
  • 栗田工业大连有效公司网站哪年做的微商城开发公司
  • 华城建设集团有限公司官方网站广州正规网站建设
  • 凡科网站建设7个基本流程怎么制作自己的微信小程序
  • 陕西农产品网站建设网站建设项目规划书
  • 宝塔做两个网站创网站需要什么
  • 衣服网站功能网站建设设计制作熊掌号
  • 保定网站报价wp如何做引擎网站
  • 商城网站建设二次开发做学校网站用什么模版
  • 重庆城乡建设网站做英文网站 赚美元
  • 做数学题挣钱的网站设计师经常用的网站
  • 网页制作与网站建设ppt可直接打开网站的网页
  • 扬中网站哪家做得好天津网站开发公司电话
  • 工程建设期刊网站钦州网站建设公司哪家好
  • 中和华丰建设有限责任公司网站手机上怎么做微电影网站
  • 蓬莱做网站联系电话杭州餐饮团购网站建设
  • 电子商务网站建站流程山东省建设项目备案证明网站
  • 网站做付费推广都需要问什么免费网页app一键生成软件
  • 部队网站建设建议网站如何做301转向