summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJakukyo Friel <weakish@gmail.com>2016-10-12 17:47:41 +0800
committerven <vendethiel@hotmail.fr>2016-10-12 11:47:41 +0200
commit858171d7231035a286ae1b1e4aea39435dacb384 (patch)
treebcb56823153e09dcf39571c23a86074d6a12690c
parentc77d5655ecbec192d9670efee68a293f0ece144b (diff)
Several changes on Kontlin. (#2335)
* kotlin: remove unnecessary semicolons. Also replace code block language `java` with `kotlin`. * kotlin: change coding style (Kotlin Reference) * kotlin: anonymous function -> lambda expression Anonymous functions and lambda expressions are different in Kotlin. The code example uses `anonymous function` in the comment, while the code below is in fact lambda expressions. * Remove myself from contributors. Not for trivial changes. * kotlin: fix a typo. Thanks @geoffliu to point out this. * kotlin: change style of default parameter according to Referenec.
-rw-r--r--kotlin.html.markdown34
1 files changed, 17 insertions, 17 deletions
diff --git a/kotlin.html.markdown b/kotlin.html.markdown
index d29b1471..d1f1aae6 100644
--- a/kotlin.html.markdown
+++ b/kotlin.html.markdown
@@ -9,7 +9,7 @@ Kotlin is a statically typed programming language for the JVM, Android and the
browser. It is 100% interoperable with Java.
[Read more here.](https://kotlinlang.org/)
-```java
+```kotlin
// Single-line comments start with //
/*
Multi-line comments look like this.
@@ -42,12 +42,12 @@ fun main(args: Array<String>) {
Strings can be represented in a similar way as in Java.
Escaping is done with a backslash.
*/
- val fooString = "My String Is Here!";
- val barString = "Printing on a new line?\nNo Problem!";
- val bazString = "Do you want to add a tab?\tNo Problem!";
- println(fooString);
- println(barString);
- println(bazString);
+ val fooString = "My String Is Here!"
+ val barString = "Printing on a new line?\nNo Problem!"
+ val bazString = "Do you want to add a tab?\tNo Problem!"
+ println(fooString)
+ println(barString)
+ println(bazString)
/*
A raw string is delimited by a triple quote (""").
@@ -87,7 +87,7 @@ fun helloWorld(val name : String) {
Function arguments can optionally have a default value.
The function return type, if required, is specified after the arguments.
*/
- fun hello(name: String = "world") : String {
+ fun hello(name: String = "world"): String {
return "Hello, $name!"
}
println(hello("foo")) // => Hello, foo!
@@ -119,16 +119,16 @@ fun helloWorld(val name : String) {
println(even(7)) // => false
// Functions can take functions as arguments and return functions.
- fun not(f: (Int) -> Boolean) : (Int) -> Boolean {
+ fun not(f: (Int) -> Boolean): (Int) -> Boolean {
return {n -> !f.invoke(n)}
}
// Named functions can be specified as arguments using the :: operator.
val notOdd = not(::odd)
val notEven = not(::even)
- // Anonymous functions can be specified as arguments.
+ // Lambda expressions can be specified as arguments.
val notZero = not {n -> n == 0}
/*
- If an anonymous function has only one parameter
+ If a lambda has only one parameter
then its declaration can be omitted (along with the ->).
The name of the single parameter will be "it".
*/
@@ -139,11 +139,11 @@ fun helloWorld(val name : String) {
// The "class" keyword is used to declare classes.
class ExampleClass(val x: Int) {
- fun memberFunction(y: Int) : Int {
+ fun memberFunction(y: Int): Int {
return x + y
}
- infix fun infixMemberFunction(y: Int) : Int {
+ infix fun infixMemberFunction(y: Int): Int {
return x * y
}
}
@@ -228,16 +228,16 @@ fun helloWorld(val name : String) {
Sequences represent lazily-evaluated collections.
We can create a sequence using the "generateSequence" function.
*/
- val fooSequence = generateSequence(1, {it + 1})
+ val fooSequence = generateSequence(1, { it + 1 })
val x = fooSequence.take(10).toList()
println(x) // => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// An example of using a sequence to generate Fibonacci numbers:
- fun fibonacciSequence() : Sequence<Long> {
+ fun fibonacciSequence(): Sequence<Long> {
var a = 0L
var b = 1L
- fun next() : Long {
+ fun next(): Long {
val result = a + b
a = b
b = result
@@ -360,7 +360,7 @@ We cannot instantiate it but we can refer to its unique instance by its name.
This is similar to Scala singleton objects.
*/
object ObjectExample {
- fun hello() : String {
+ fun hello(): String {
return "hello"
}
}