+Ruby

Mountain LionでLimeChatの新着メッセージを読み上げる

MacのLimeChatにはマクロ機能が付いてないのでした。 Mountain Lionには最初から読み上げ機能が付いてるのでKyokoに読んでもらう。 橋本商会 » Mac/Linuxに日本語を喋らせる 使い方 Kyoko(日本語読み上げ)の設定 rubygemsでfssmとdiffをインストール。 Lim…

ターミナル(Bash)のウィンドウサイズが知りたい - Ruby

irbからだとENV['LINES']に行数、ENV['COLUMNS']に列数が入ってるんだけど、普通にrubyから実行するとnilになってる。 んで、何となくReadline.readline()したらENVにLINESとCOLUMNSが追加されてた。 何がしたいかっていうと、この画像の点線部分があるじゃ…

Rubyでスレッドを簡単に扱うための何か

Rubyでスレッド使うときの雛形みたいなやつ - juntkの日記をちゃんと使えるようにしただけ。 スレッドの並列実行と待機、実行、破棄の管理を簡単に。詳しくは上の記事。 MyThreadTest.rb つかいかた。 MyThread#addThreadでスレッドをテキトーに追加していく…

Rubyでスレッド使うときの雛形みたいなやつ

スレッド間の変数の扱いとかスレッド管理とかチェックしたついでに。 重たい処理を何度も実行する必要があって、並列に処理したい場合を想定。 スレッドが終了しないうちに新しい処理が来て間に合わない。のでスレッドオブジェクトを配列に貯めておいて、順…

Macで「require 'rubygems' => false」な状態

sudo port install ruby でインストールした場合はgemの方もportから入れ直すといいらしい。 sudo port install rb-rubygems たぶんgem installもやりなおし。

MySQLの設定 - Ruby on Rails

$ rails DIR_NAME -d mysql $ cd DIR_NAME $ ruby script/serverhttp://127.0.0.1:3000を開いて'About your application’s environment'をクリックするとエラー'We're sorry, but something went wrong.'が出た。 'log/development.log'をみるとMySQLの設定…

ラグランジュ補間の計算

ラグランジュ補間のコード書いてみた。 3つの点(x,y)=(1,10),(2,15),(10,55)のときに、x=4での値を求める。 example.rb require "Lagrange.rb" lag = Lagrange.new([[1,10],[2,15],[10,55]]) y = lag.calc(4) puts y $ ruby example.rb 25.0元の3つの点は関…

深さ優先探索と幅優先探索

木構造のコレを元に探索コード書いてみた。 Tree#search 深さ優先探索。 user system total real depth-first search: 0.000000 0.000000 0.000000 ( 0.000058) 0.000000 0.000000 0.000000 ( 0.000033) Tree#search_b 幅優先探索。 Beadth first search: 0.…

木構造

こんな感じかな。 class Tree attr_reader :root, :childs, :data def initialize(data, root=nil) @root = root @data = data @childs = [] end def addNode(data) @childs << Tree.new(data,self) end def addNodes(ary_data) ary_data.each do |l| addNod…

その1

はじめに これはRubyのチュートリアル資料です。詳しい解説はプログラミング言語 Ruby リファレンスマニュアルをご覧ください。 Rubyとは何か オブジェクト指向スクリプト言語 強い動的型付け*1 ダック・タイピング オブジェクト(変数の値)に何ができるか…

線分交差判定

点ab,cdの座標を元に線分ABと線分CDの交差判定をする。 詳しい解説は‚à‚Á‚ÆŠÈ’P‚Ɂ|ü•ªŒð·”»’è|に書かれています。 方法 線分ABをline1、線分CDをline2とする。 ta=(line2_ax - line2_bx) * (line1_ay - line2_ay) + (line2_ay - line2_by) * (line2_ax -…

Debian etchでApache2 + Ruby

基本はこれ apache2でmod_rubyでrubyをcgiで動かす設定 - 橋本詳解 httpd.confに追記 mod_rubyやら。ディレクトリはてきとーに。 eRubyの関係で.rhtmlなど。 <Directory "/var/www"> AddType text/html .rhtml ServerSignature Off Options +ExecCGI AddHandler cgi-script .rb </Directory> モ…

OpenGL 回転と隠面処理 - Ruby

ライブラリ http://ruby-opengl.rubyforge.org/ 回転 回転したときにX,Y,Z軸がどうなるか確認したいので、XZ平面とYZ平面を用意した。キーボードの入力h,lでY軸を中心とした回転(横回転)、j,kでX軸を中心とした回転(縦回転)を行う。 軸を中心に回転...aa…

Ruby「えーマジ while!?」

「whileが許されるのは、perlまでだよねー」 「ダサーイ」「キャハハハハハハ」 open("log.txt") do |file| while s = file.gets s.chomp! puts s end end Ruby/簡単なファイルアクセス(読み書き)の方法 - TOBY SOFT wiki

メモ

Ruby1.8に付属のリファレンスマニュアル読んでる。 メモがあったら追記していく。 Pythonは置いといてRubyを触ってみる あとこれ読んだ: PythonistaとRubyistの違い - http://bit.ly/a7ubDk 環境 Mac OS X Snow Leopard (たまにWindows7) Ruby 1.8 (Window…