3.scala容器 input{
margin: 0 0 0 -20px;
}
.video_container{
width: 100%;
display: table;
text-align: center;
position: relative;
padding-bottom: 56.25%!important;
}
.slideshare_container .inner{
position: relative;
width: 100%;
}
.slideshare_container .inner iframe{
width: 100%;
height: 100%;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.video_container iframe{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 1;
vertical-align: middle;
}
kbd{
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: #555;
vertical-align: middle;
background-color: #fcfcfc;
border: solid 1px #ccc;
border-bottom-color: #bbb;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #bbb;
}
.blank_anchor_id {
float: left;
}
.blank_anchor_id {
visibility: hidden;
}
.blank_anchor_id:before {
content: 'a';
}
blockquote footer{
margin: 1em 0;
font-style: italic;
}
blockquote footer cite {
margin: 0 1em;
}
/*wavedrom start*/
.wavedrom_svg text, .wavedrom_svg_defs text {
font-size:11pt;
font-style:normal;
font-variant:normal;
font-weight:normal;
font-stretch:normal;
text-align:center;
fill-opacity:1;
font-family:Helvetica
}
.wavedrom_svg .muted, .wavedrom_svg_defs .muted {
fill:#aaa
}
.wavedrom_svg .warning, .wavedrom_svg_defs .warning {
fill:#f6b900
}
.wavedrom_svg .error, .wavedrom_svg_defs .error {
fill:#f60000
}
.wavedrom_svg .info, .wavedrom_svg_defs .info {
fill:#0041c4
}
.wavedrom_svg .success, .wavedrom_svg_defs .success {
fill:#00ab00
}
.wavedrom_svg .h1, .wavedrom_svg_defs .h1 {
font-size:33pt;
font-weight:bold
}
.wavedrom_svg .h2, .wavedrom_svg_defs .h2 {
font-size:27pt;
font-weight:bold
}
.wavedrom_svg .h3, .wavedrom_svg_defs .h3 {
font-size:20pt;
font-weight:bold
}
.wavedrom_svg .h4, .wavedrom_svg_defs .h4 {
font-size:14pt;
font-weight:bold
}
.wavedrom_svg .h5, .wavedrom_svg_defs .h5 {
font-size:11pt;
font-weight:bold
}
.wavedrom_svg .h6, .wavedrom_svg_defs .h6 {
font-size:8pt;
font-weight:bold
}
.wavedrom_svg_defs .s1 {
fill:none;
stroke:#000;
stroke-width:1;
stroke-linecap:round;
stroke-linejoin:miter;
stroke-miterlimit:4;
stroke-opacity:1;
stroke-dasharray:none
}
.wavedrom_svg_defs .s2 {
fill:none;
stroke:#000;
stroke-width:0.5;
stroke-linecap:round;
stroke-linejoin:miter;
stroke-miterlimit:4;
stroke-opacity:1;
stroke-dasharray:none
}
.wavedrom_svg_defs .s3 {
color:#000;
fill:none;
stroke:#000;
stroke-width:1;
stroke-linecap:round;
stroke-linejoin:miter;
stroke-miterlimit:4;
stroke-opacity:1;
stroke-dasharray:1,3;
stroke-dashoffset:0;
marker:none;
visibility:visible;
display:inline;
overflow:visible;
enable-background:accumulate
}
.wavedrom_svg_defs .s4 {
color:#000;
fill:none;
stroke:#000;
stroke-width:1;
stroke-linecap:round;
stroke-linejoin:miter;
stroke-miterlimit:4;
stroke-opacity:1;
stroke-dasharray:none;
stroke-dashoffset:0;
marker:none;
visibility:visible;
display:inline;
overflow:visible
}
.wavedrom_svg_defs .s5 {
fill:#fff;
stroke:none
}
.wavedrom_svg_defs .s6 {
color:#000;
fill:#ffffb4;
fill-opacity:1;
fill-rule:nonzero;
stroke:none;
stroke-width:1px;
marker:none;
visibility:visible;
display:inline;
overflow:visible;
enable-background:accumulate
}
.wavedrom_svg_defs .s7 {
color:#000;
fill:#ffe0b9;
fill-opacity:1;
fill-rule:nonzero;
stroke:none;
stroke-width:1px;
marker:none;
visibility:visible;
display:inline;
overflow:visible;
enable-background:accumulate
}
.wavedrom_svg_defs .s8 {
color:#000;
fill:#b9e0ff;
fill-opacity:1;
fill-rule:nonzero;
stroke:none;
stroke-width:1px;
marker:none;
visibility:visible;
display:inline;
overflow:visible;
enable-background:accumulate
}
.wavedrom_svg_defs .s9 {
fill:#000;
fill-opacity:1;
stroke:none
}
.wavedrom_svg_defs .s10 {
color:#000;
fill:#fff;
fill-opacity:1;
fill-rule:nonzero;
stroke:none;
stroke-width:1px;
marker:none;
visibility:visible;
display:inline;
overflow:visible;
enable-background:accumulate
}
.wavedrom_svg_defs .s11 {
fill:#0041c4;
fill-opacity:1;
stroke:none
}
.wavedrom_svg_defs .s12 {
fill:none;
stroke:#0041c4;
stroke-width:1;
stroke-linecap:round;
stroke-linejoin:miter;
stroke-miterlimit:4;
stroke-opacity:1;
stroke-dasharray:none
}
/*wavedrom stop*/
/*
Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
*/
.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
background: #fdf6e3;
color: #657b83;
-webkit-text-size-adjust: none;
}
.hljs-comment,
.diff .hljs-header,
.hljs-doctype,
.hljs-pi,
.lisp .hljs-string,
.hljs-javadoc {
color: #93a1a1;
}
/* Solarized Green */
.hljs-keyword,
.hljs-winutils,
.method,
.hljs-addition,
.css .hljs-tag,
.hljs-request,
.hljs-status,
.nginx .hljs-title {
color: #859900;
}
/* Solarized Cyan */
.hljs-number,
.hljs-command,
.hljs-string,
.hljs-tag .hljs-value,
.hljs-rule .hljs-value,
.hljs-phpdoc,
.hljs-dartdoc,
.tex .hljs-formula,
.hljs-regexp,
.hljs-hexcolor,
.hljs-link_url {
color: #2aa198;
}
/* Solarized Blue */
.hljs-title,
.hljs-localvars,
.hljs-chunk,
.hljs-decorator,
.hljs-built_in,
.hljs-identifier,
.vhdl .hljs-literal,
.hljs-id,
.css .hljs-function,
.hljs-name {
color: #268bd2;
}
/* Solarized Yellow */
.hljs-attribute,
.hljs-variable,
.lisp .hljs-body,
.smalltalk .hljs-number,
.hljs-constant,
.hljs-class .hljs-title,
.hljs-parent,
.hljs-type,
.hljs-link_reference {
color: #b58900;
}
/* Solarized Orange */
.hljs-preprocessor,
.hljs-preprocessor .hljs-keyword,
.hljs-pragma,
.hljs-shebang,
.hljs-symbol,
.hljs-symbol .hljs-string,
.diff .hljs-change,
.hljs-special,
.hljs-attr_selector,
.hljs-subst,
.hljs-cdata,
.css .hljs-pseudo,
.hljs-header {
color: #cb4b16;
}
/* Solarized Red */
.hljs-deletion,
.hljs-important {
color: #dc322f;
}
/* Solarized Violet */
.hljs-link_label {
color: #6c71c4;
}
.tex .hljs-formula {
background: #eee8d5;
}
3.scala容器
3.1数组
(1) 定长数组(Array)
val array = Array("a","b","c")
val array = new Array[String](3)
array(0) = "a"
array(1) = "b"
array(2) = "c"
(2) 数组缓冲(ArrayBuffer)
数组缓冲是一种可变的数组,类似于Java中的ArrayList,但是ArrayBuffer提供了非常丰富的api
import scala.collection.multable.ArrayBuffer
val buf = new ArrayBuffer[Int]()
buf += 1
buf ++= (2,3,4)
buf ++= Array(5,6,7)
更多操作可以参考API文档
(3)数组的高级API
Array(1,3,5).sum
Array(1,2,4).max
val newArray = Array(3,2,5,7,1).sortWith(_>_)
可以自定义排序方法,或者使用scala提供的排序方法,如:
val a = Array(3,2,5,7,1)
scala.util.Sorting.quickSort(a)
注意:ArrayBuffer不能排序,因为数组缓冲中的元素个数不确定。
(4)与Java互操作
java.util.List转化为scalaArrayBuffer:import scala.collection.JavaConversions.asScalaBuffer
ArrayBuffer转java List: import scala.collection.JavaConversions.bufferAsJavaList
3.2映射
scala中映射也分可变映射和不可变映射。
val rank = Map("zs" -> 3,"ls" -> 4)
val rank = scala.collection.multable.Map("zs" -> 3,"ls" -> 4)
val rank = new scala.collection.multable.Map[String,Int]()
rank +=("ww" -> 5,"zl" -> 6)
rank -= "ww"
rank("zs") = 30
for((k,v) <- map){ some code}
3.3元组
元组是一种能存放不同数据类型的容器,一般声明如下:
val tuple = (11.11,12,"bb")
tuple.foreach{}
阅读(235) | 评论(0) | 转发(0) |