Entries

スポンサーサイト

ruby synchronizeの中でbreakってsynchronizeからbreakするのね

#!/opt/local/bin/rubymx=Mutex.newcnt=0MAX=5loop do mx.synchronize do if cnt>=MAX break end end cnt+=1 puts cntend↑終わらない。...

Socketを通るとencodingが変わる。

#!/opt/local/bin/rubyrequire 'socket'fork do sleep 1 sock=TCPSocket.open('127.0.0.1',7777) str='hoge' puts "@client #{str} #{str.encoding}" sock.puts str str=sock.gets.chomp puts "@client #{str} #{str.encoding}"endgsock=TCPServer.open(7777)sock=gsock.acceptstr=sock.gets.chompputs "@server #{str} #{str.encoding}"str='hoge'puts "@server #{str} #{str.encoding}"sock.puts str実行結果@client hog...

rubyでOSX Lion say -v kyokoを使ってtwitcasting(ツイキャス)コメント読み上げツール(棒読み)を作る。

>say -v kyoko ほげほげがターミナルで動くようにしたら、#!/usr/bin/rubyrequire 'rubygems'require 'mechanize'require 'json'puts 'input id or url'id=STDIN.gets.chompid.sub!(/.+\//,'')Mechanize.new do |a| since=nil loop do a.get "http://api.twitcasting.tv/api/commentlist?type=json&user=#{id}#{since ? "&since=#{since}" : ''}" cid=nil JSON.parse(a.page.body).reverse_each do|r| cid=r["com...

rubyでOSX Lion say -v kyokoを使ってニコ生コメント読み上げツール(棒読み)を作る。

>say -v kyoko ほげほげがターミナルで動くようにしたら、#!/usr/bin/rubyrequire 'rubygems'require 'mechanize'U={ :user=>'account', :password=>'******'}puts 'input lv or url'if /.*(lv\d{9})/=~STDIN.gets.chomp url='http://live.nicovideo.jp/api/getplayerstatus?v='+$1else puts 'err bad input' exitendMechanize.new do |a| a.get 'https://secure.nicovideo.jp/secure/login_form' a.page.form_with(:actio...

prawn

%gem18 install ttfunk%gem18 install prawnあとはフォントをどこからか入手。今回はipag.ttf、こちらから拝借。#!/usr/local/bin/rubyENV['GEM_HOME']='/home/hogehoge/local/lib/gems/1.8'require 'cgi'require 'uri'require 'kconv'require "erb"require 'rubygems'require 'prawn'cgi = CGI.new('html3')pdf=Prawn::Document.newpdf.font '../ipag.ttf'if cgi.has_key?('str') then pdf.text(URI.unescape(cgi['str']).toutf8...

Appendix

プロフィール

kovayashi

Author:kovayashi
・嫌いなもの
 →好きなもの

・インストール
 →バンドル
・バックアップ
 →アップロード
・努力
 →チート

最近のトラックバック

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。