down. translated.

@spec.get_opts.each do |name, opt| options[name] = opt.value counts[name] = opt.count end @spec.get_args.each do |name, arg| args << arg.value named[name] = arg.value end args.flatten! args += trailing @report =, named, trailing, options, counts) if @report.opt(:help) self.print_usage() end unless @spec.get_args.values.all? {|arg| arg.fulfilled? } raise InterfaceError, "Required argument '#{name.upcase}' was not given." end if @spec.trailing_error && !@report.trailing.empty? raise InterfaceError, "Error: got trailing argument(s): #{trailing.join


Hello there, my name is 0E9B061F

And I'm a programmer. Welcome to my website. I do front- and back-end web development (CPB, fantasma.js, waxwing.js). I write system tools (scroll, hashbeam, imgfilter) and I'm interested in parsing (ghast.js, lexdoc). I mostly work with node.js and Python currently, and I write a lot of bash. I also have experience with Ruby, C#, and a few other languages. I've had the misfortune of writing some R. I've been using Svelte a lot lately and created phaser-svelte-ui-example, which uses Svelte components as UI elements for a Phaser game.

I've contributed to svelte-markdown.


I can be reached at


Is your name really 0E9B061F?

No not at all! My real name is 0E9B061F-1A2A-490D-B35C-5CDD2BEE2CDD, but my friends call me nn.