• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > Scala非值类型,Scala值类型

Scala非值类型,Scala值类型

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含scala函数返回值,scala 绝对值,scala数据类型,scala 查看变量类型,scala 类型转换等服务器相关知识,网友希望可以进行参考

Scala非值类型,Scala值类型


以下类型并不表示值的集合,也并不显式地出现在程序中。它们只以已定义标识符的内部类型而引入。

方法类型

方法类型在内部表示为(Ts)U,(Ts)是一个类型序列(T1,...,Tn) n>=0,U是一个(值或者方法)类型。这个类型表示一个命名的方法,其参数的类型是T1,...,Tn,返回结果的类型是U。

方法类型是右结合的,(Ts1)(Ts2)U被处理的方式是(Ts1)((Ts2)U)。

一个特例是没有参数的方法类型。可以写为=>T的形式。无参数方法名称表达式将会在每次名称被引用时求值。

方法类型并不以值的类型的形式存在。如果方法名以值的方式被引用,其类型将会被自动转换为对应的函数类型(§6.25)。

示例3.3.1 以下声明:

def a: Int

def b (x: Int): Boolean

def c (x: Int)(y: String, z:String): String

产生以下类型:

a: => Int

b: (Int) Boolean

c: (Int)(String, String) String

多态方法类型

多态方法类型在内部表示为[tps]T,[tps]是类型参数部分[a1 >: L1 <: U1,...,an >: Ln <: Un],n>=0,T是一个(值或方法)类型。该类型表示一个以S1,...,Sn为类型参量并产生类型为T的结果的命名方法,参数类型S1,...,Sn与下界L1,...,Ln和上界U1,...,Un一致(§3.2.4)。

示例3.3.2 以下声明:

def empty[A]: List[A]

def union[A <:Comparable[A]] (x: Set[A], xs: Set[A]): Set[A]

产生如下类型:

empty: [A >: Nothing <: Any] List[A]

union: [A >: Nothing <: Comparable[A]] (x: Set[A], xs:Set[A]) Set[A]

类型构造器

类型构造器在内部的表示方法类似于多态方法类型。[+/- a1 >: L1 <: U1,...,+/-an >: Ln <: Un] T表示一个期望是类型构造器参数(§4.4)或有对应类型参数子句的抽象类型构造器绑定(§4.3)的类型。

示例3.3.3 以下是类Iterable[+X]的片段:

trait Iterable[+X]{

def flatMap[newType[+X]<:Iterabe[X],S](f: X => newType[S]): newType[S]

}

从概念上来讲,类型构造器Iterable是匿名类型[+X] Iterable[X]的名称,在


flatMap中传递给newType类型构造器参数。 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Scala函数声明与定义,Scala函数声明定义
  • Scala非值类型,Scala值类型

相关文章

  • Hadoop之——HBase笔记(补充),hadoophbase
  • Hadoop2伪分布模式安装,hadoop2分布模式
  • Install Docker Mac OS X,installdocker
  • LXC学习,学习中国app上线
  • hbase遇到问题及解决方法,hbase遇到问题
  • HDFS概念详解---名称节点与数据节点,hdfs节点
  • pagerank算法的MapReduce实现,pagerankmapreduce
  • hbase,hbase安装
  • &lt;转&gt;linux上nagios安装完整版,linuxnagios
  • [Sqoop]将Mysql数据表导入到Hive,sqoophive

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • zookeeper——分布式锁,zookeeper
    • logstash 学习小记,logstash小记
    • KVM 【SNAT/DNAT2种配置实现以及扁平化网络模式(flat)实现/virsh2种动态迁移实现】,kvmsnat
    • 智能助手相伴,享受人机温情,智能助手人机
    • openstack中glance组件images的所有python API 汇总,openstackglance
    • spark一些入门资料,spark入门资料
    • hive schema详解,hiveschema
    • Hive快速入门,hive入门
    • Apriori算法的java实现,apriori算法java
    • Spark中广播变量知识点

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有