元ネタ: 複数ルートなブランチの全ての差分の取得
のWindows版
@rem コマンドプロンプトなどで直接実行する場合は%%i, %%j を %i, %j に変えること
@rem 対象のブランチ名
set BRANCH=feature
# 指定したリビジョンの子孫をまとめて指定リビジョンを含むブランチのHEADにrebaseする。 | |
# 主な用途は、手元で生やしまくったfeatureブランチ共をupstreamから取ってきた新しいHEADにまとめて引っ越すとか | |
[alias] | |
follow = !for /F "usebackq" %i in (`"%HG%" log -r $1 --template {branch}`) do ("%HG%" rebase -r "($1):: & !public() - ::'%i' - '%i'::" -d %i --keepbranches) |
if !exists('s:loaded') | |
let g:sphinx_image_dirnames = ['images', 'figures', '_static'] | |
let g:sphinx_image_ext = 'png' | |
let g:sphinx_image_dir_search_depth = 5 | |
endif | |
" Sphinxの環境に関する情報 | |
let s:context = { | |
\ 'filepath': '', | |
\ 'root': '', |
namespace WonderfulPanda.Gist | |
{ | |
public class EventSourceSample | |
{ | |
WeakEvent<EventArgs> _test = new WeakEvent<EventArgs>(); | |
public event Test | |
{ | |
add { _test.AddHandler(value); } | |
remove { _test.RemoveHandler(value); } | |
} |
元ネタ: 複数ルートなブランチの全ての差分の取得
のWindows版
@rem コマンドプロンプトなどで直接実行する場合は%%i, %%j を %i, %j に変えること
@rem 対象のブランチ名
set BRANCH=feature
paizaオンラインハッカソン lite をPythonで解いてみた.
結果 は0.01秒.
単純に枝刈りしながら深さ優先探索するだけのコードだけど, あらかじめ単価の安い順にソートしておくのと, Solver.least_cost()
あたりの処理とで出来るかぎり浅いところで枝刈りされるようにしている.
とはいえ、このコードで TestCase7が0.01秒というのはちょっと速すぎる気がしないでもない.
# -*- coding:utf-8 -*-
package main | |
import ( | |
"encoding/base64" | |
"flag" | |
"fmt" | |
"io" | |
"log" | |
"net" | |
"net/http" |
scriptencoding utf-8 | |
setlocal fileencoding=cp932 | |
" カーソル下のファイルに対するdiffをvimdiffで表示 | |
nnoremap ;d :call ShowHgDiffUnified(expand('<cfile>'))<CR> | |
function! ShowHgDiffSideBySide(path) abort | |
execute 'tabedit ' . a:path | |
let encoding = &encoding |
# coding: utf-8 | |
import ast | |
class _MakeFunction(ast.NodeTransformer): | |
def __init__(self, name, args, body): | |
self.name = name | |
self.args = args | |
self.body = body | |
def run(self): |
// OrderBy(x => x.Id).ThenBy(x => x.Name) みたいな比較をするComparer | |
// var comparer = KeyComparer<Foo>.CreateBy(x => x.Id).ThenBy(x => x.Name); みたいに使う | |
public class KeyComparer<T> : IComparer<T> | |
{ | |
readonly List<Comparison<T>> comparisons_; | |
private KeyComparer(params Comparison<T> []comparisons) | |
{ | |
comparisons_ = comparisons.ToList(); | |
} |
void Main() | |
{ | |
var x = 4; | |
var y = 2; | |
Expression<Func<int>> exp = () => x; | |
Expression<Func<int, int>> twice = n => n * y; | |
var param = twice.Parameters[0]; | |
var exp2 = new Visitor(exp.Body, twice.Body).Visit(exp); | |
var exp3 = (Expression<Func<int>>)new Visitor(param, exp.Body).Visit(exp2); | |
var f = exp3.Compile(); |