The code jumps inside the for loop are map, withfilter, etc.For is more direct than MAP,FILTER,FLATMAP, can be implemented with a for replacementPackage Com.dt.scala.forexpressionObject For_advanced {def main (args:array[string]) {}def Map[a, b] (list:list[a], f:a = b): list[b] =for (element def Flatmap[a, B] (list:list[a], f:a = List[b]): list[b] =for (x def Filter[a] (list:list[a], f:a = Boolean): list[a] =for (Elem }DT Big Data Dream Factory public account: Dt_spark.DT Big Data Dream Factory'
Note: This study originates from: DT Big Data DreamWorks (public number: Dt_spark)1.in the previous section we learned about Scala Hello World, specifically defining a function as follows:650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M02/70/40/wKiom1W1CI_DmfpAAAGAJtFJ734715.jpg "title=" 1.png " alt= "Wkiom1w1ci_dmfpaaagajtfj734715.jpg"/>2.define a function without parameters, as follows:650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M
Some time ago Read the "Fast Learning Scala", feel that writing is not very good, so began to see this "programming Scala", the book's Code has been realized a bit, now put in the blog to share.
Package BASE04
/**
* Scala's class
* Created by DD on 2016/5/18 0018.
*
/Object demo01 extends app{
class car (val year:int) {
private var milesdriven:int = 0
def miles () = Miles Driven
def D
The take in list is implemented with Listbuffer:version 2.10.xHowever, in the 2.11.x version, it is not:override def take (n:int): list[A] = if (IsEmpty | | n val h = new::(head, Nil)var t = hvar rest = tailvar i = 1while ({if (rest. isEmpty) return this; i i + = 1val NX = new::(rest. Head, Nil)t.tl = NXT = NXrest = rest. Tail}h}final Case class:: [B] (override Val head:b, private [Scala] var tl:list[b]) extends List[b]declared as VAR allows listbuffe
Final Case class:: [B] (private var hd:b, Private[scala] var tl:list[b]) extends List[b]TL is limited access through private to ensure the immutability of TL, so that in the building of the head element HD different and then the list of the same new list can be directly pointed to the TL, efficient.This ensures both functional programming and efficient creation of new objects.interested friends please pay attention to DT Big Data Dream Factory public
Note: This study originates from: DT Big Data DreamWorks (public number: Dt_spark)1.in the previous section we learned about Scala Hello World, specifically defining a function as follows:650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M02/70/40/wKiom1W1CI_DmfpAAAGAJtFJ734715.jpg "title=" 1.png " alt= "Wkiom1w1ci_dmfpaaagajtfj734715.jpg"/>2.define a function without parameters, as follows:650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M
3, hands on the abstract class in ScalaThe definition of an abstract class requires the use of the abstract keyword:
The above code defines and implements the abstract method, it is important to note that we put the direct running code in the trait subclass of the app, about the inside of the app helps us implement the Main method and manages the code written by the engineer;Here's a look at the use of uninitialized variables in an abstract class:
4, hands-on trait in ScalaTrait
it's so ....Come back at night suddenly saw into the huge manuscript, can't help to the three ye, and then nothing did 23 o'clock ... 85th: The powerful expressive battle of the for expression in ScalaGoal:Comparison and contact of higher order functions (FLATMAP,MAP) and for loops (initial)Gains:The back of the For loop is actually called map, but it is more likely to be programmed with a for loop if the statement is concise and expressive two.MORE:Run the instance code over and try it out.----
:: Appends the object to the head of the list.The head part of an existing list[subclass X] is placed in another object A, which is a subclass Y, and if both a object and the original list object inherit from the same parent class, the list is displayed as the list[parent class].The parameters of the function are contravariant so that covariance cannot occur, so the nether is used to solve the problem. The object to which the:: Method returns is programmed as a list of upper bound object B.inter
Default value:def saymyname (name:string = "Jack") {println (name)}Variable parameters:def summoreparameters (elem:int*) = { var sum = 0for (e Use of underscores:def add (a:int,b:int) = a+bdef add2 = Add (_:int,2)Recursive functions: Need to explicitly give the return type of the functiondef FAC (n:int): Int = if (n function currying:Write this argument independently, this is curryingdef mulitply (X:int) (y:int) = x*ydef m2 = mulitply (2) _;Curry is the parameter can be separated, some of the
From Scala wizard Chapter 1 functional objects
With the basic Scala knowledge gained from the previous chapters, you are ready to explore how to design objects with more comprehensive features in Scala. This chapter focuses on defining functional objects, that is, classes of objects without any variable states. As an example of running, we will create several Cl
The Akka provides scalable, real-time transaction processing capabilities.The Akka is based on actor and provides location transparency.The 1GB heap can have 2.5 million actors.Horizontal expansion, vertical expansion, fault tolerance 3 ways to solve.The actor of the tree structure, each actor has state and behavior.DT Big Data Dream Factory public account: Dt_spark.DT Big Data Dream Factory's public number is Dt_spark, every day will have big data actual combat video release, please continue to
= { //similar to defining a static method initialization, using C to refer to a method var c=c () c.apply () c.test () }}3. Use apply to achieve a singleton mode, let's do a test. Reference the associated object C with C and C1, respectivelyPackage Smart.iotclass Applyclass { }class a{ def Test () =println ("function test") def apply () =println ( "Hello class A");} Object b{ def apply () =println ("Hello object B");} Similar to a factory method, use the C apply method
Scala basic syntax
If you have a good understanding of the Java language, it will be easy to learn Scala. The most important difference between Scala and Java is that the line terminator is optional. Consider a Scala program that can be defined as a collection of objects that communicate by calling each other's methods
An expression
Scala> 1 + 1
res0:int = 2
value
You can assign the result of an expression to a variable (val) by name.
scala> val two = 1 + 1
two:int = 2
variable
If you need to modify the binding of this name and result, you can choose to use Var.
scala> var name = "Steve"
name:java.lang.String = Steve
scala> name
Scala Language Basics
1. Scala morphology
The character set used by the Scala program is the basic Multilingual plane character set for Unicode, and the following defines the two modes of Scala morphology: Scala mode and XML schema. If not specifically stated, the foll
This course focuses onSpark, the hottest, most popular and promising technology in the big Data world today. In this course, from shallow to deep, based on a large number of case studies, in-depth analysis and explanation of Spark, and will contain completely from the enterprise real complex business needs to extract the actual case. The course will cover Scala programming, spark core programming, spark SQL and spark streaming, spark kernel and source
This article first describes how to configure the Maven+scala development environment in Eclipse, and then describes how to implement the spark local run. Finally, the spark program written by Scala is successfully run.
At first, my Eclipse+maven environment was well configured.
System: Win7
Eclipse version: Luna release (4.4.0)
MAVEN is installed from the Eclipsemarket, as shown in Figure 1.
When the Ecli
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.