This gist is part of a blog post. Check it out at:
http://jasonrudolph.com/blog/2011/08/09/programming-achievements-how-to-level-up-as-a-developer
| use std::future::Future; | |
| use std::time::Duration; | |
| use teloxide_core::prelude::*; | |
| use teloxide_core::types::{ChatId, MediaKind, MediaText, MessageKind, Update, UpdateKind}; | |
| pub const WAIT_TIME: Duration = Duration::from_secs(5); | |
| pub const MAX_ATTEMPTS: u32 = 5; | |
| pub fn extract_text(update: Update) -> Option<(ChatId, MediaText)> { | |
| let msg = match update.kind { |
| public final class RunningAverage { | |
| private final int[] values; | |
| private float average; | |
| private int index; | |
| public RunningAverage(int capacity) { | |
| values = new int[capacity]; | |
| average = 0; | |
| index = 0; | |
| } |
| public interface CheckedFunction<I, O, T extends Throwable> { | |
| O apply(I input) throws T; | |
| } | |
| private static <I, O, R, T extends Throwable> CheckedFunction<I, R, T> combine(CheckedFunction<I, O, T> left, CheckedFunction<O, R, T> right) { | |
| return input -> right.apply(left.apply(input)); | |
| } | |
| public static final class DBRow { | |
| final String query; |
This gist is part of a blog post. Check it out at:
http://jasonrudolph.com/blog/2011/08/09/programming-achievements-how-to-level-up-as-a-developer
| // Implicit declarations | |
| ALPHA_LOWER := [a-z] | |
| ALPHA_UPPER := [A-Z] | |
| ALPHA := [{ALPHA_LOWER}|{ALPHA_UPPER}] | |
| NUM := [0-9] | |
| HEX := [{NUM}|a|b|c|d|e|f|A|B|C|D|E|F] | |
| ALPHA_NUM := [{ALPHA}|{NUM}] |
| -- resource: the value that will be used when creating the entity. Such as 'stone', or 'iron-ore' | |
| -- length: the length of one side of the square that will be generated, the player will be the top left of the square. Default is 20. | |
| -- amount: the quantity per ore. Default is 50000. | |
| -- to: The value that will be used when generating the base land within the area. Default is 'grass' | |
| function create(resource, length, amount, to) | |
| if (resource == nil) | |
| return "Please specify a resource to use. Eg: /c create('stone') or /c create('iron-ore')" | |
| end | |
| local r = length or 20; -- If no length is provided, just assume a small 20, that way it doesn't destroy massive areas of land. |
| public class IO { | |
| public static final int EOL = -1; | |
| public static final int DEFAULT_BUFFER_SIZE = 4096; | |
| public static final String SCANNER_END_OF_FILE_TOKEN = "\\A"; | |
| public static String toString(Reader in) throws IOException { | |
| char[] arr = new char[DEFAULT_BUFFER_SIZE]; | |
| StringBuilder buffer = new StringBuilder(); | |
| int numCharsRead; | |
| while ((numCharsRead = in.read(arr, 0, DEFAULT_BUFFER_SIZE)) != EOL) |
| import java.lang.reflect.Field; | |
| import java.lang.reflect.Modifier; | |
| import java.util.Random; | |
| /** | |
| * General fuckery. | |
| * | |
| * @author jezza | |
| * @date Oct 1, 2015 | |
| */ |
| buildscript { | |
| repositories { | |
| mavenCentral() | |
| maven { | |
| name = "forge" | |
| url = "http://files.minecraftforge.net/maven" | |
| } | |
| maven { | |
| name = "sonatype" | |
| url = "https://oss.sonatype.org/content/repositories/snapshots/" |
| buildscript { | |
| repositories { | |
| mavenCentral() | |
| maven { | |
| name = "forge" | |
| url = "http://files.minecraftforge.net/maven" | |
| } | |
| maven { | |
| name = "sonatype" | |
| url = "https://oss.sonatype.org/content/repositories/snapshots/" |