View gray_scott_gtk.rb
require 'numo/narray' | |
require 'gtk3' | |
include Numo | |
SPACE_GRID_SIZE = 256 | |
VISUALIZATION_STEP = 8 | |
Dx = 0.01 | |
Du = 2e-5 | |
Dv = 1e-5 |
View tetris_for_Ruby2D.rb
require "ruby2d" | |
include Ruby2D::DSL | |
Wait = 18 | |
class Tetromino | |
def initialize | |
@pat = Array.new(4) | |
pats = [["1111"], ["11", "11"], ["011", "110"], ["110", "011"], | |
["100", "111"], ["001", "111"], ["010", "111"]] |
View simulated_annealing.rb
def dist(a, b) | |
case | |
when a[1, 2] == b[0, 2] then 1 | |
when a[-1] == b[0] then 2 | |
else 3 | |
end | |
end | |
L = 64 | |
start_t = 171 |
View operations_parser.rb
def parse(text) | |
splited = text.scan(/[0-9\.]+|\+|\-|\*|\/|\(|\)|=/) | |
output = [] | |
stack = [] | |
a = nil | |
until (token = splited.shift) == "=" | |
case token | |
when "(" then stack << token | |
when ")" |
View file_transfer_for_nexus7.rb
#!/usr/bin/env ruby | |
# encoding : utf-8 | |
require 'socket' | |
require 'thwait' | |
def file_send | |
host = ARGV[0] | |
q = Queue.new | |
30.times {q.push(:unlock)} | |
View file_transfer
#!/usr/bin/env ruby | |
require 'socket' | |
require 'thwait' | |
def file_send | |
host = ARGV[0] | |
q = Queue.new | |
30.times {q.push(:unlock)} | |
send_file = ->(name) { |
View max_heap.rb
Node = Struct.new(:key, :value) | |
class MaxHeap | |
def initialize | |
@heap = [nil] | |
@size = 0 | |
end | |
attr_reader :heap | |
def insert(key, value) |
View binary_search_tree.rb
class Node < Struct.new(:key, :value, :left, :right) | |
def inspect | |
l, r = "", "" | |
l = ", @left='#{left}'" if left | |
r = ", @right='#{right}'" if right | |
"#<Node:@key='#{key}', @value='#{value}'#{l}#{r}>" | |
end | |
alias :to_s :inspect | |
end |
View le_mogumogu.rb
module Kernel | |
def Thunk(&bl) | |
a = Thunk.new | |
a.value = bl | |
a | |
end | |
def Lambda(&bl) | |
Lambda.new(bl) | |
end |
View es_sample1.rb
require_relative 'es' | |
L = 14 #一辺の長さ(偶数にする) | |
print ES.safe_scroll(L) | |
i = 0 | |
x, y = ES.cursor_position | |
x -= 1 | |
square = ->(width) { |
NewerOlder