Skip to content

Instantly share code, notes, and snippets.

@takehiko
takehiko / gist:851715
Created March 2, 2011 20:49
kc.rb: Japanese Educational Kanji Checker
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
if RUBY_VERSION < "1.9"
$KCODE = "utf8"
end
# kc.rb : 各漢字の出現頻度を求める.
# 教育漢字(学習漢字,小学漢字)でない漢字を見つけることもできる.
@takehiko
takehiko / pmtd-parser-no_tw.rb
Created May 11, 2011 07:29
plus/minus/times/divide parser (w/o Taiwanese-style calculation)
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# plus/minus/times/divide parser (w/o Taiwanese-style calculation)
# by takehikom (http://d.hatena.ne.jp/takehikom/)
# ruby pmtd-parser-no_tw.rb => 6÷2(1+2)=1
# ruby -d pmtd-parser-no_tw.rb => ... 1
# ruby -d pmtd-parser-no_tw.rb "6/2*(1+2)" => ... 9
@takehiko
takehiko / pmtd-parser.rb
Created May 11, 2011 07:32
plus/minus/times/divide parser
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# plus/minus/times/divide parser
# by takehikom (http://d.hatena.ne.jp/takehikom/)
# ruby pmtd-parser.rb => 6÷2(1+2)=1
# ruby pmtd-parser.rb -t => 6÷2(1+2)=9
# ruby -d pmtd-parser.rb => ... 1
# ruby -d pmtd-parser.rb -t => ... 9
@takehiko
takehiko / pmtd-parser-rational.rb
Created May 23, 2011 20:19
plus/minus/times/divide parser
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# plus/minus/times/divide parser (rational numbers ready)
# by takehikom (http://d.hatena.ne.jp/takehikom/)
# ruby pmtd-parser-rational.rb
# ruby -d pmtd-parser-rational.rb
# see also: http://getnews.jp/archives/114382
@takehiko
takehiko / kwic_bookmarklet.html
Created October 21, 2011 19:31
KWIC表示のbookmarklet
<ul>
<li><a href="javascript:(function(){var t='。',L=t.length,D='・',w=window,s=w.getSelection().toString(),d=w.open().document,m=10;for(q=m;q!=0;q--)s=D+s+D;d.writeln('<pre>');while((p=s.indexOf(t,q))!=-1){d.writeln(s.substr(p-m,L+2*m).replace(/[\u0000-\u001F|\u007F]/g,D).replace(/[\u0020-\u007E]/g,'$&_'));q=p+1;}d.writeln('</pre>');d.close();})();">「。」で検索</a></li>
<li><a href="javascript:(function(){var t='.',L=t.length,D='・',w=window,s=w.getSelection().toString(),d=w.open().document,m=10;for(q=m;q!=0;q--)s=D+s+D;d.writeln('<pre>');while((p=s.indexOf(t,q))!=-1){d.writeln(s.substr(p-m,L+2*m).replace(/[\u0000-\u001F|\u007F]/g,D).replace(/[\u0020-\u007E]/g,'$&_'));q=p+1;}d.writeln('</pre>');d.close();})();">「.」で検索</a></li>
<li><a href="javascript:(function(){var t='順',L=t.length,D='・',w=window,s=w.getSelection().toString(),d=w.open().document,m=10;for(q=m;q!=0;q--)s=D+s+D;d.writeln('<pre>');while((p=s.indexOf(t,q))!=-1){d.writeln(s.substr(p-m,L+2*m).replace(/[\u0000-\u001F|\u007F]/g,D).replace(/[\u0020-\u
@takehiko
takehiko / rot90a.rb
Created October 30, 2011 20:38
Four fives: Method A
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
class Rot90a
def initialize
@field_s = <<EOS
1*
**
1*1*1*
******
@takehiko
takehiko / rot90b.rb
Created October 30, 2011 20:40
Four fives: Method B
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
class Rot90b
def initialize
@field_s = <<EOS
**
**
******
******
@takehiko
takehiko / rot90c.rb
Created October 30, 2011 20:41
Four fives: Method C
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
class Rot90c
def initialize
@field_s = (<<EOS).gsub(/\n/, "")
**
**
******
******
@takehiko
takehiko / amazon-searcher.rb
Created January 8, 2012 19:04
Book & Product Searcher with Ruby/AWS
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# amazon-searcher.rb by takehikom
# run "gem install ruby-aaws"
# and prepare "~/.amazonrc"
require "rubygems"
require "amazon/aws/search"
@takehiko
takehiko / rot90d.rb
Created March 22, 2012 20:30
Four fives: Method D
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
class Rot90d
def initialize
@field_s = (<<EOS).gsub(/\n/, "")
**
**
******
******