Scala is famous recently, but it is really so good. What I see is nothing. Scala's fame masks its shortcomings, so many people do not see its shortcomings. Although it is a functional programming language, it gives me the overall feeling of confusion and inconsistency, to be different, do you have to be different from other languages to show your excellence? You know, Java has been tested for more than 20 years. Isn't it worth learning from? Are you s
We talked about getting started with Scala, but after all, it's not like scripting language, and Scala is talking about replacing Java, so we'll see how he grabs the Java position.A common editor for Scala, see below:
Eclipse (using one of the shoddy and unstable Scala plugins)
Emacs
IntelliJ (basicall
Scala: Operator and parser, scala operator ParsingThe names of variables, functions, and classes are collectively referred to as identifiers. The backquotes can contain almost any character sequence.In scala,-Operator ending with Colon-Value assignment operatorAll operators are left-bound.
The unapply method accepts an object and then takes the value from it, us
The trait definition in Scala includes a collection of fields, behaviors (methods/functions/actions), and some non-implemented functional interfaces that can be easily extended or mixed into existing classes or abstract classes.Scala's trait (trait) is a very useful feature that can be better abstracted in the design. The program is more extensible by making programs more focused on their features and better splitting the program into multiple trait m
In this Martin and two other pattern matching experts ' papers, there are several ways to implement pattern matching, and Scala chooses which way to implement it.Http://lampwww.epfl.ch/~emir/written/MatchingObjectsWithPatterns-TR.pdfI quoted some of the descriptions inside.In object-oriented programs, data is organized into class-level classesThe problem with object-oriented language in pattern matching is how to detect this level from the outside.The
The main contents of this article are as follows:
Variables and invariants
Functions and procedures
Parameters of the function
Semicolon
1. Variables and invariants 1.1. VariablesScala's variables are divided into two types, Var and val. var, or variable, is similar to the variables we touch in other languages such as Java, and Val, is value, similar to the non-assignable constants we use in other languages, or the final variable.Why this difference, this is because in
Scala briefly -- class and object, scalaClass
In scala, classes are not declared as public. The source file can contain multiple classes, all of which have common visibility. The getter and setter methods are provided for each field, which are called Field Names and field name_, respectively, and can be customized. Note: 1) if the field is private, getter and setter are also private. 2) if the field is val
Let's look at a loop in Java: for (int i = 1; i ) { + ",");}There is no doubt that Scala can make this loop more concise. According to the previous section, it is not necessary to display the type of the specified variable i, and we do not even need to declare the variable. The next output statement can be more concise, and in Scala you can use the println () method to output a string directly. Finall
Package Com.leegh.parameterizationImport Com.leegh.parameterization.Compound_Type/*** @author Guohui Li*/Trait Compound_type1;Trait Compound_type2;Class Compound_type extends Compound_type1 with compound_type2Object Compound_type {def compound_type (x:compound_type1 with compound_type2) = {println ("Compound Type in Global Method")}def main (args:array[string]): Unit = {Compound_type (new compound_type1 with Compound_type2)Object Compound_type_object extends Compound_type1 with compound_type2Com
Package Com.leegh.parameterization/*** @author Guohui Li*/Class Pair_ordering[t:ordering] (Val first:t, Val second:t) {def bigger (implicit ordered:ordering[t]) = {if (Ordered.compare (first, second) > 0) First Else second}}Object Context_bounds {def main (args:array[string]): Unit = {Val pair = new pair_ordering ("Spark", "Hadoop")println (Pair.bigger)Val pairint = new Pair_ordering (3, 5)println (Pairint.bigger)}}Report:This blog description:1. Organize your ideas and improve yourself.2. Be ed
We do spark development using a lot of spark's higher-order functions so today I'm using scala higher-order functions on Linux ServicesDeclares a list collection:The package containing the list is already automatically introduced by the predefined, so there is no need to introduce a package here, directly using the list instantiation object, actually using the list object object's Apply methodWe use the map function to multiply each value in the list
001-scala development environment Construction and HelloWorld parsingScala functional programming and object-oriented language functional programming excel at numerical computing object-oriented organization of large-scale engineering and project and team collaboration Scala will be the next great language? Spark is written in the Scala language, and Hadoop is wr
Scala: annotation and scala AnnotationAnnotations can be used to add information to various entries of a program. They are inserted into the code so that tools can process tags for them. You can use java annotations for scala classes or scala-specific annotations.In scala, a
Java programmers, why do you need to pay attention to Scala, Java programmers, and Scala?
Let's take a look at Martin Odersky's design goals for Scala. What aspects should be taken into account in the process of creating a language that surpasses Java?
Concession
Frank Sommers: You mentioned earlier that you want to create a language that exists in the Java
Package Com.leegh.implicits/*** @author Guohui Li*/Object Context_implicits {Implicit val default:string = "Java"}Object Param {def print (content:string) (implicit language:string) {println (language + ":" + content)}}Object Context_parameters {def main (args:array[string]): Unit = {Param.print ("Spark") ("Scala")Import Context_implicits._Param.print ("Hadoop")}}Report:This blog description:1. Organize your ideas and improve yourself.2. Be educated i
We know that everything in Scala is an object, a function is an object, a number is an object, and it's a more object-oriented language than Java.Simple classes that define ScalaClass Point(val x:int, val y:int) The previous line of code is the definition of a Scala class:
The first is the keyword class
followed by the class name point
The parentheses after the class name are the const
Package Com.leegh.parameterization/*** @author Guohui Li*/Because breathe returns This,scala the return type is inferred as animal, and because animal has no eat methodClass Animal {def breathe = this}Class Cat extends Animal {def eat = this}Class Animal {def Breathe:this.type = this}Class Cat extends Animal {def eat:this.type = this}Object Singleton_types {def main (args:array[string]): Unit = {Val cat = new CatCat.breathe.eat}}Report:This blog descr
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.