Skip to content

Instantly share code, notes, and snippets.

require './minruby'
def evaluate(tree, genv, lenv)
case tree[0]
when 'lit'
tree[1]
when '+'
lenv['plus_count'] ||= 0
lenv['plus_count'] += 1
left = evaluate(tree[1], genv, lenv)
require 'mathn'
car, *cdr = (1..9).map{|i| ['', '+', '-', '*', '/'].map { |o| o + i.to_s }}
exps = car.product(*cdr).map {|exp| exp.join}.delete_if{|e| e =~ /^[\+|\*|\/]/}
komachies = exps.select{|e| eval(e) == 100}
komachies.each {|k| puts k}
puts "#{komachies.count} / #{exps.count}"
def euler_62
n = 1
hash = Hash.new {|h, k| h[k] = []}
current_length = 1
while true
cubic = n**3
key = cubic.to_s.split('').sort.join
hash[key] << cubic
if key.length > current_length
def formula_ptn(ptn)
ope = ptn.to_s(3).rjust(8, '0').gsub('0', 'n').gsub('1', '+').gsub('2', '-')
(1..9).map(&:to_s).each_with_index.inject('') do |result, (num, index)|
result += num
if ope[index] && ope[index] != 'n'
result += ope[index]
end
result
end
end
@track8
track8 / hello_yarv.rb
Created March 18, 2015 14:12
Hello YARV
code = <<END
puts "Hello World!"
END
puts RubyVM::InstructionSequence.compile(code).disasm
@track8
track8 / simple.rb
Created March 4, 2015 19:41
toRuby 99まで
class Number < Struct.new(:value)
def to_s
value.to_s
end
def inspect
"<<#{self}>>"
end
def reducible?
@track8
track8 / afx.rb
Last active August 29, 2015 14:14
require 'open-uri'
require 'open_uri_redirections'
require 'soundcloud'
OUTDIR = 'user48736353001'
Dir.mkdir(OUTDIR) unless Dir.exists? OUTDIR
def save(title, download_url)
puts title
file_name = "#{OUTDIR}/#{title}.mp3"
@track8
track8 / kanagawa.rb
Created January 17, 2015 05:38
神奈川Ruby会議のペアプロで作ったやつ(http://nabetani.sakura.ne.jp/kanagawa.rb/evalex/)
def kanagawa(str)
f = str.scan(/[0-9]+|[^0-9]/)
['|', '&', '+', '*'].each do |op|
while(i = f.index(op)) do
f[(i - 1)..(i + 1)] = eval(f[(i - 1)..(i + 1)].join(''))
end
end
f[0]
end

ぐんまRuby会議01資料まとめ

World in My Eyes

基調講演「Mad Web Programmer」

招待講演1「プログラマー」

会議開始まえの電車時刻表詳細

会議開始まえのバス時刻表詳細

ぐるりんを利用する方法
  • 高崎駅西口から乗車し、高崎市総合福祉センターで下車します。 会議前のバス発車時刻は下記の通りです。