Wow... Kiyotaka Oku's fork of this shows how to do it in one line :-)
The other day, I saw Harold Cooper's One-line tree in Python via autovivication, and wondered if the same thing was possible in Groovy.
package net.deardeuff.roleobject; | |
import com.google.common.base.Preconditions; | |
/** | |
* A Key based on a Class | |
*/ | |
public final class ClassKey<T> implements View.Key<T> { | |
private final Class<T> delegate; | |
import java.io.*; | |
import javax.script.*; | |
import org.python.core.PySystemState; | |
import org.python.core.PyString; | |
import org.python.util.PythonInterpreter; | |
/** | |
* This class executes the AsciiDoc python scripts (asciidoc.py and a2x.py) from | |
* Java using the Jython interpreter. | |
* |
Wow... Kiyotaka Oku's fork of this shows how to do it in one line :-)
The other day, I saw Harold Cooper's One-line tree in Python via autovivication, and wondered if the same thing was possible in Groovy.
The other day, I saw Harold Cooper's One-line tree in Python via autovivication, and wondered if the same thing was possible in Groovy.
The answer is yes! But you need to define the variable tree
before you can assign it to the self-referential withDefault
closure, hence with Groovy, it's a two-line solution ;-)
Anyway, given:
def tree = { [:].withDefault{ owner.call() } }
/* | |
* Copyright 2012 Thomas Broyer <[email protected]> | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software |
#!/bin/bash | |
# | |
# Example of how to parse short/long options with 'getopt' | |
# | |
OPTS=`getopt -o vhns: --long verbose,dry-run,help,stack-size: -n 'parse-options' -- "$@"` | |
if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi | |
echo "$OPTS" |
#!/usr/bin/env ruby | |
require 'faraday' | |
require 'json' | |
require 'gitlab' | |
module Redmine | |
Host = nil | |
APIKey = nil |
def (a,b,rest) = [0, 1, 2..-1].collect { [1,2,3,4][it] } | |
assert a == 1 | |
assert b == 2 | |
assert rest == [3,4] |
import requests | |
import base64 | |
from tqdm import tqdm | |
master_json_url = 'https://178skyfiregce-a.akamaihd.net/exp=1474107106~acl=%2F142089577%2F%2A~hmac=0d9becc441fc5385462d53bf59cf019c0184690862f49b414e9a2f1c5bafbe0d/142089577/video/426274424,426274425,426274423,426274422/master.json?base64_init=1' | |
base_url = master_json_url[:master_json_url.rfind('/', 0, -26) + 1] | |
resp = requests.get(master_json_url) | |
content = resp.json() |