Skip to content

Instantly share code, notes, and snippets.

@seki
seki / fact.rb
Created May 27, 2018 16:27
MinRuby with Rinda
write("fact", 1, 1)
n = 2
while n <= 10
eval("fact", n, take("fact", n - 1, nil)[2] * n)
n = n + 1
end
p take("fact", 10, nil)
@seki
seki / root.rb
Last active April 30, 2018 16:56
minruby + STM
require 'my_drip'
MyDrip.invoke
def root
Root.new
end
class Root
class VersionMismatchError < RuntimeError; end
@seki
seki / 05_toteka.txt
Last active March 18, 2018 03:39 — forked from vestige/05_toteka.txt
05下書き
** テーマ『自画自讃』
とちぎテストの会議05を開催します。
** 概要
- 日時: 2018/05/12(土) 11:00
- 場所: [http://nasu-hh.com:title=那須野が原ハーモニーホール]
- 定員: 50名
** タイムテーブル
- 11:00 開場
class Array
def keys
0...size
end
end
def find(it, key, &blk)
it.keys.each do |k|
v = it[k]
k == key ? yield(v) : find(v, key, &blk)
@seki
seki / interp.rb
Last active February 2, 2018 03:26
minruby.succ
require "minruby"
def mark_tail(tree, genv)
case tree && tree[0]
when "func_call"
mhd = genv[tree[1]]
if mhd == nil || mhd[0] == "user_defined"
tree[0] = "tail"
end
when "stmts"
eleven:ruby mas$ svn diff lib/drb/drb.rb
Index: lib/drb/drb.rb
===================================================================
--- lib/drb/drb.rb (revision 61162)
+++ lib/drb/drb.rb (working copy)
@@ -1673,6 +1673,7 @@
client.close unless succ
if Thread.current['DRb']['stop_service']
Thread.new { stop_service }
+ break
@seki
seki / main.m
Created October 11, 2017 17:37
test tool for AB shutter (Bluetooth Remote Shutter)
//
// main.m
// abs3
//
// Created by Masatoshi SEKI on 2017/10/12.
// Copyright © 2017年 Masatoshi SEKI. All rights reserved.
//
#if 0
- Connected to device UUID: C9529529-C937-45B4-B3B6-D1476FFB111B Named: AB Shutter3
- UUID 2A50 Read Value: 0x028A2466820100
@seki
seki / mono_rinda.rb
Created May 24, 2017 20:08
Fibered TupleSpace
# frozen_string_literal: false
require 'rinda/tuplespace'
require 'bartender/bartender'
module Bartender
class Queue
def initialize
@reader = []
@queue = []
end
@seki
seki / http0serv.rb
Last active August 16, 2017 01:24
http0serv.rb
require 'webrick'
require 'drb/drb'
require 'drb/http0'
require 'thread'
module DRb
module HTTP0
def self.open_server(uri, config)
unless /^http:/ =~ uri
@seki
seki / risp.rb
Created February 11, 2017 16:21
cons on Rinda
require 'rinda/tuplespace'
require 'drb'
class Risp
Ptr = Struct.new(:ptr)
class Ptr
def initialize(ptr)
self.ptr = ptr
end