Skip to content

Instantly share code, notes, and snippets.

View Nymphium's full-sized avatar
⚜️
百合

Nymphium Nymphium

⚜️
百合
View GitHub Profile
local f
f = function(...)
local args = {...}
print(unpack(args))
local a = table.remove(args)
local b = table.remove(args)
return #args < 1 and 0 or f(unpack(args), b)
end
f(1,2,3,4,5)
@Nymphium
Nymphium / parse.moon
Created August 10, 2015 15:46
LPeg's bug?
import P,S, V,
C, Cb, Cc, Cg, Cs, Cmt, Ct, Cf, Cp
locale, match from require 'lulpeg'
locale = locale!
K = (k) -> P(k) * -(locale.alnum + P'_')
CV = (pat) -> C V pat
CK = (pat) -> C K pat
CP = (pat) -> C P pat
CS = (pat) -> C S pat

『FLOWERS 春篇』 作品引用

  • そして誰もいなくなった
  • 錨を上げて
  • マリーアントワネット
  • ショーシャンクの空に
  • 嵐が丘
  • 風と共に去りぬ
  • オール・ザ・キングスメン
#/usr/bin/env perl
$_ = 'Drink coffee! Supported by Six Apart';
tr/a-z/Blogging after this event!/;
tr/N-ZA-z/A-za-m/;
@m = split //, $_;
$j = sub { join(chr(0), @_) };
$_ = chr(104) . $j->(@m[10, 11]) . pack("H*", join('', qw/70 3a 2f 2f/));
$_ .= $m[4] . chr(46) . $m[4] . '<3';
@Nymphium
Nymphium / coding_moonscript.md
Last active August 29, 2015 14:27
あるとよさそう

my coding rule in MoonScript

ブロックの先頭は空行いらない

do
  body
  ...
@Nymphium
Nymphium / supwerswitch.moon
Last active August 29, 2015 14:27
switch hoge when A OR B (not `or` operator)
ss = (cond, body) ->
matcht = (t, match) ->
ret = false
for b in *t
ret = (b == match)
return ret if ret
for i = 1, #body, 2
val = body[i]
@Nymphium
Nymphium / CkEmLang.vim
Created September 4, 2015 12:52
Check Embeded Lang
function! CkEmLang(code, cmd, ...)
call writefile(a:code, "/tmp/".getpid())
let s:arg = get(a:, 1, "")
cgete system(a:cmd ." ". s:arg . " /tmp/" . getpid())
cw
endfunction
vnoremap <expr>" (col(".") == col("$") - 1) ? "xa\"\<ESC>\"\"pa\"\<ESC>" : "xi\"\<ESC>\"\"pa\"\<ESC>"
vnoremap <expr>' (col(".") == col("$") - 1) ? "xa'\<ESC>\"\"pa'\<ESC>" : "xi'\<ESC>\"\"pa'\<ESC>"
vnoremap <expr>( (col(".") == col("$") - 1) ? "xa(\<ESC>\"\"pa)\<ESC>" : "xi(\<ESC>\"\"pa)\<ESC>"
vnoremap <expr>[ (col(".") == col("$") - 1) ? "xa[\<ESC>\"\"pa]\<ESC>" : "xi[\<ESC>\"\"pa]\<ESC>"
vnoremap <expr>{ (col(".") == col("$") - 1) ? "xa{\<ESC>\"\"pa}\<ESC>" : "xi{\<ESC>\"\"pa}\<ESC>"
@Nymphium
Nymphium / dmesg.log
Created November 24, 2015 16:08
dmesg.log
[Wed Nov 25 00:22:40 2015] usb 3-1.2: clear tt 1 (0050) error -71
[Wed Nov 25 00:22:40 2015] usb 3-1.2-port4: cannot reset (err = -71)
[Wed Nov 25 00:22:40 2015] usb 3-1.2: clear tt 1 (0040) error -71
[Wed Nov 25 00:22:40 2015] usb 3-1.2-port4: cannot reset (err = -71)
[Wed Nov 25 00:22:40 2015] usb 3-1.2-port4: cannot reset (err = -71)
[Wed Nov 25 00:22:40 2015] usb 3-1.2-port4: cannot reset (err = -71)
[Wed Nov 25 00:22:40 2015] usb 3-1.2-port4: cannot reset (err = -71)
[Wed Nov 25 00:22:40 2015] usb 3-1.2-port4: Cannot enable. Maybe the USB cable is bad?
[Wed Nov 25 00:22:40 2015] usb 3-1.2-port4: cannot disable (err = -71)
[Wed Nov 25 00:22:40 2015] usb 3-1.2-port4: cannot reset (err = -71)
-- this is copied from luatexbase.loader
if not package.searchers then
package.searchers = package.loaders
end
local make_loader = function(path, pos, loadfunc)
local default_loader = package.searchers[pos]
local loader = function(name)
local file, msg = package.searchpath(name, path)
if not file then