Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
13
Task/Extend-your-language/Java/extend-your-language-1.java
Normal file
13
Task/Extend-your-language/Java/extend-your-language-1.java
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
public class If2 {
|
||||
|
||||
public static void if2(boolean firstCondition, boolean secondCondition,
|
||||
Runnable bothTrue, Runnable firstTrue, Runnable secondTrue, Runnable noneTrue) {
|
||||
if (firstCondition)
|
||||
if (secondCondition)
|
||||
bothTrue.run();
|
||||
else firstTrue.run();
|
||||
else if (secondCondition)
|
||||
secondTrue.run();
|
||||
else noneTrue.run();
|
||||
}
|
||||
}
|
||||
15
Task/Extend-your-language/Java/extend-your-language-2.java
Normal file
15
Task/Extend-your-language/Java/extend-your-language-2.java
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import static If2.if2;
|
||||
class Main {
|
||||
private static void print(String s) {
|
||||
System.out.println(s);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// prints "both true"
|
||||
if2(true, true,
|
||||
() -> print("both true"),
|
||||
() -> print("first true"),
|
||||
() -> print("second true"),
|
||||
() -> print("none true"));
|
||||
}
|
||||
}
|
||||
41
Task/Extend-your-language/Java/extend-your-language-3.java
Normal file
41
Task/Extend-your-language/Java/extend-your-language-3.java
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
public class If2 {
|
||||
private final boolean firstCondition;
|
||||
private final boolean secondCondition;
|
||||
|
||||
public If2(boolean firstCondition, boolean secondCondition) {
|
||||
this.firstCondition = firstCondition;
|
||||
this.secondCondition = secondCondition;
|
||||
}
|
||||
|
||||
public static If2 if2(boolean firstCondition, boolean secondCondition) {
|
||||
return new If2(firstCondition, secondCondition);
|
||||
}
|
||||
|
||||
public If2 then(Runnable runnable) {
|
||||
if (firstCondition && secondCondition) {
|
||||
runnable.run();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public If2 elseNone(Runnable runnable) {
|
||||
if (!firstCondition && !secondCondition) {
|
||||
runnable.run();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public If2 elseIfFirst(Runnable runnable) {
|
||||
if (firstCondition && !secondCondition) {
|
||||
runnable.run();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
public If2 elseIfSecond(Runnable runnable) {
|
||||
if (!firstCondition && secondCondition) {
|
||||
runnable.run();
|
||||
}
|
||||
return this;
|
||||
}
|
||||
}
|
||||
14
Task/Extend-your-language/Java/extend-your-language-4.java
Normal file
14
Task/Extend-your-language/Java/extend-your-language-4.java
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
// prints "both true"
|
||||
if2(true, true)
|
||||
.then(() -> print("both true"))
|
||||
.elseIfFirst(() -> print("first true"))
|
||||
.elseIfSecond(() -> print("second true"))
|
||||
.elseNone(() -> print("none true"));
|
||||
|
||||
// if we only care about both true and none true...
|
||||
// prints "none true"
|
||||
if2(false, false)
|
||||
.then(() -> print("both true"))
|
||||
.elseNone(() -> { // a lambda can have a block body
|
||||
print("none true");
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue