Skip to content

Instantly share code, notes, and snippets.

View fgoinai's full-sized avatar

FGO fgoinai

  • Hong Kong
View GitHub Profile
interface IBill {
String getType();
void execute(); //假設你要做野
}
class ElectricityBill implements IBill {
int billDay;
int kw;
String region;
private fun swap(list: MutableList<T>) : (Int, Int) -> Unit {
return fun(pos1: Int, pos2: Int): Unit {
return {
tmp = list[pos1]
list[pos1] = list[pos2]
list[pos2] = tmp
}()
}
}
private final Function2 swap(final List list) {
return (Function2)(new Function2() {
// $FF: synthetic method
// $FF: bridge method
public Object invoke(Object var1, Object var2) {
this.invoke(((Number)var1).intValue(), ((Number)var2).intValue());
return Unit.INSTANCE;
}
public final void invoke(final int pos1, final int pos2) {
@fgoinai
fgoinai / fuck_this_praser.java
Created May 14, 2017 12:55
I think this is a praser, I hope.
//FuckTokenStream
import java.io.*;
public class FuckTokenStream implements TokenStream {
private BufferedReader br;
private int pos = 0;
private char[] cache;
FuckTokenStream(InputStream is) {
class CheckCal {
private val MAX = 128
private val valStack = Stack<Int>(MAX)
private val opStack = Stack<Char>(MAX)
private var buf = CharArray(MAX)
fun startCheck(inStream: InputStream) {
val reader = inStream.bufferedReader()
var prev: Int? = null
loop@ while(reader.read(buf) != -1) {
class BinarySearchTree<T : Comparable<T>>() {
private var root: BinaryNode<T>? = null
constructor(element: T) : this() {
root = BinaryNode(element)
}
fun getRoot() = root
fun insert(element: T) : Boolean {
fun <T: Comparable<T>> eWhen(target: T, tester: Tester<T>.() -> Unit) {
val test = Tester(target)
test.tester()
test.filterList.firstOrNull { it.filter }?.invoke() ?: return
}
class Tester<T: Comparable<T>>(val it: T) {
val filterList = mutableListOf<Filter>()
fun <T: Comparable<T>> eWhen(target: T, tester: Tester<T>.() -> Unit) {
val test = Tester(target)
test.tester()
test.funFiltered?.invoke() ?: return
}
class Tester<T: Comparable<T>>(val it: T) {
var funFiltered: (() -> Unit)? = null
infix fun Boolean.then(block: () -> Unit) {
@fgoinai
fgoinai / fib_yield.kt
Created June 14, 2017 11:55
Fib generator using kotlin coroutine
fun main(args: Array<String>) {
fib.take(10).forEach { println(it) }
}
val fib = buildSequence {
var tmp = Pair(0, 1)
while(true) {
yield(tmp.first)
tmp = Pair(tmp.second, tmp.first + tmp.second)
}
#!/bin/bash
#check network connection
con=$(ping -q -w 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` > /dev/null && echo ok || echo error)
if [ $con == "error" ]; then
exit -1
fi
timedatectl set-ntp true
lsblk