Skip to content

Instantly share code, notes, and snippets.

obelisk68

Block or report user

Report or block obelisk68

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@obelisk68
obelisk68 / tetris_for_Ruby2D.rb
Last active Oct 14, 2019
Ruby2D を使ったテトリス
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"]]
@obelisk68
obelisk68 / simulated_annealing.rb
Created Feb 14, 2019
「最短ヌクレオチド連鎖問題」焼きなまし法
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
@obelisk68
obelisk68 / operations_parser.rb
Last active May 27, 2019
四則演算のパーサー(Ruby)
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 ")"
@obelisk68
obelisk68 / file_transfer_for_nexus7.rb
Created Jan 10, 2019
Ruby 1.9.3 用ファイル転送プログラム
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) {
@obelisk68
obelisk68 / max_heap.rb
Last active Aug 14, 2019
二分ヒープの Ruby 実装
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)
@obelisk68
obelisk68 / binary_search_tree.rb
Last active Jan 5, 2019
二分探索木の Ruby 実装
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
@obelisk68
obelisk68 / le_mogumogu.rb
Last active Dec 23, 2018
Ruby で遅延評価
View le_mogumogu.rb
module Kernel
def Thunk(&bl)
a = Thunk.new
a.value = bl
a
end
def Lambda(&bl)
Lambda.new(bl)
end
@obelisk68
obelisk68 / es_sample1.rb
Last active Dec 12, 2018
ANSIエスケープシーケンスで遊ぶ
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) {
@obelisk68
obelisk68 / root.rb
Last active Nov 16, 2018
平方根の計算
View root.rb
require 'prime'
module Kernel
def Root(*args)
Root.new(*args)
end
end
module ExRoot
def to_root
You can’t perform that action at this time.