ruby
先日「ブログ書きが不調」と書いたが、言語のアウトプットが不調なときは、それ以外のことをするに限る...たとえば黙々とプログラムを書く、音楽に浸る、身体を酷使する、などだ。というわけで月曜日、天気は晴れなかったものの、研究のデータ処理に使うRuby…
404 Blog Not Found:やる気ってどこでやる気? 経由で見つけた↓の記事。 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントす…
CSVを読む方法、書く方法。このレシピはよく使いそうなので覚えておこう。 RubyでCSVを読み込む require 'csv' CSV.parse("data.csv"){|row| p row } RubyでCSVを出力 下記参照。writterを呼ぶのは一度だけっぽい。 以上 Rubyレシピブック 第2版 268の技作者…
「ある文字列を正規表現で指定して、""で置換する」という考え方。sub!あるいはgsub!を使う。 sub系は 第一引数で正規表現「/hogehoge/」あるいは特定の文字列「"hogehoge"」 第二引数で置換先の文字列 指定した位置に文字列を挿入する方法も。 str.sub!(/\A…
Rubistとして精進するため、Rubyレシピブック 第2版 268の技のレシピのうち 必要に迫られて 最初から順に、勉強として 使用/実践したものをブログにあげていく。備忘録、継続のための公開という用途の他に「たしか前勉強したのに…」という内容をブログ内サー…
もうRailsはインストールしてある(d:id:Hash:20071009)のだが、いい記事をみつけた。MacでRuby on Railsを始めるならこれやっときゃ大丈夫っぽいな。MacにRailsをゼロからインストールする一番簡単な方法:Kenn's Clairvoyance - CNET Japanで、最後にメンテ…
配列aryにデータを溜めていって、最後にまとめてHashにしてしまう。keyとvalueを交互に溜めていくこと。 count = 0 ary = [] for i in 0..10 do count += 1 ary << count ary << "hogeNo.#{count}" end newhash = Hash[*ary] > newhash[5] => hogeNo.5 とや…
僕はRubyが好きだが、本質*1からは遠いと自覚している。友人に「javaやるといいよ」と勧められた。 Java陣営は2003年頃から「Ease of Development(EoD)」という標語を打ち出して、できる限りシンプルなプログラミングを実現することを明言し、その方向性は…
必要なプログラムを好きなように作りながら思う。プログラミングの練習プロセスにおいて、「クラスの利用」が一つの壁なんじゃなかろうか。 メモ hoge = 2 def double(num) puts num*hoge end >double(100) => in `double': undefined local variable or met…
寒くて手が動かない… スパコンで計算かけるとき、キューを指定することができる。計算の実行には長々とコマンドを書かねばならないので、適当にRubyでスクリプトを書いて、引数で「2」をとれば、空いてるキューに計算が投げられる設定にした(つもりだった…
Rubyをいろいろいじって勉強。深いなRubyは。多分非常に初歩的なことなのだが、気づいたことをメモ的に書く。明日は計算系のRMSDがなぜか不安定な根拠を探ろう。 Rubyからシェルコマンド %x{}で囲めばいい。バッククオートでもいける(backticksという)が、バ…
研究室でちょっとしたプログラムを使う必要が出た。ので作った。PDBファイルの特定の残基名を書き換えた後、AMBERパッケージを使って適切な構造に直して、分子動力学計算(MD計算)を行う。このPDBファイルの書き換えを自動でやってくれるプログラム(PDBも所…
suの後のパスワードが通らない。なぜだ
rtfファイルでゼミ資料を書いている時、 「図2-3」 をキャプションと本文からすべて検索して 「図2-4」 にしたい。以降の図2-4、図2-5もどうように置き換えたい。 JeditXでは正規表現の検索はできるが、それを保存して数値に変換してプラス1,という処理は…
RubyOSAを落とした。Gem使ってinstallできなかった。なんでや まだ使ってない。が、非常にwktk中。RubyOSA: Ruby/AppleEvent BridgeWord2004を操作するスクリプトを作ってる(暇だからではなく、研究のストレス発散に)。 AppleScriptだけを使って作るのは大…
.bash_profileでPATH通す 先日PATHの設定がわからなかったが .bash_profile内に export PATH=$PATH:/usr/local/bin:/opt/local/bin export MANPATH=$MANPATH:/opt/local/share/man と記述すればいい。port用と、localに入れたいろいろ用。 MySQLのあがき $ s…
夏に稼いだ金の一部で中古のiBook G4 12inchを買う。1年前のモデルだが、ユーザーインターフェイスの充実にびっくり。windowsより断然好きだ。UNIX譲りのTerminalが操作しやすくてうれしい。で、一晩中設定に奔走していた。まずTerminalの設定から。.bashrc…
Ruby翻訳計画〜。アルゴリズムを学ぶ上で自分的Goalは 数独解答プログラム ライツアウト解答プログラム を作ること。これらを自力で組み立てられたら力が付いたと判断。ライツアウトとは昔ハマったゲーム。Wikipedhiaに項目があってびびった 最近買ったので…
itochanさんに助言され、ソフトバンククリエイティブ社に、のRuby翻訳公開の是非を問うてみた。柴田望洋氏に話を通してくれ、「こころよく許可します」と許可をいただきました。ので、内容にもざくざく触れつつがりがり翻訳していくよ。 例の如く全て見るに…
この本の内容を演習問題をメインにRubyに翻訳していくよ。 演習1,2は簡単すぎたので3から10まで。「続きを読む」クリックすれば最後まで出る。 著者の柴田さんにに許可とろうと思ったけど、有名人すぎるのか本にはアドレス公開してないしググると後援会HPに…
id:niraikanaibirdさんのとこで発見。 visualモードで実行したいコードを選択して :'w !ruby vimからディレクトリ 「:cd」「:pwd」が使える。カレントディレクトリ変更方法が分かって幸せ。set HOME=C:\hogehogeで設定できるのか
Ruby書くときに、Windowsのメリットを生かそうと、HTMLHelpを入れてみた。id:secondlifeさんが配布してるCSSが綺麗で、気に入った。
経験不足を指摘されたので地味な練習もしっかりやる。 内の基本アルゴリズムをRubyスクリプトに翻訳する。流石に全部夏休み中には無理だが。 Ruby でアルゴリズム 答え合わせ的なもの。実はインターン中もお世話にな(ry あと、Dave ThomasのRuby本を原著で…
メインで使ったFlickr以外のAPIもいじってみる。 はてなウェブサービス ここに色々APIへのリンクあり 人力検索はてなおとなり質問API はてなexistAPI はてなブックマークAtomAPI はてなブックマーク件数取得API はてなキーワードAPI はてなダイアリーキーワ…
sth.rhtmlは空っぽで、sth.rbでopen("../sth.rhtml", "w")して{|io|〜〜:、と書き込んでいく。printでHTML表記(ヒアドキュメント使う)途中でEOLしてMySQLを予備、処理して結果(s)を。最後に、生成したsth.(r)htmlに飛ぶ。 print cgi.header( { 'Status' =…
Rubyの基礎から始まり...、MySQL, MySQL/Ruby, CGI, HTML, CSS, eRubyをボトムアップで叩き込まれ、お粗末ながらもWebアプリを作るまでになった。 eRubyとCGIのバランスが難しい。静的すぎてもだめやし、いちいちrhtmlで作りなおすのも、必要性と相談しなけ…
Rubyスクリプト内にmysqlをrequireし、クエリ文を埋め込んで使用する。 クエリ文はMy自体で試行錯誤し、できたものをコピペ require 'mysql' begin myh = Mysql.init myh.options (Mysql::SET_CHARSET_NAME, 'utf8') #日本語に対応させる myh.connect('local…
前にもメモった気がする。 Ruby/MySQLはRubyで記述された(pure ruby)MySQLのRuby API*1. MySQL/Rubyとほぼ互換。比較はこちら Ruby/MySQL…RubyにおけるMySQLクラスの操作あり *1:【API(Application Program Interface)】規約に従ってその機能を「呼び出す…
RubyでCGI*1書いても、それの外側をHTMLにしなきゃならん。eRuby(embedded Ruby)はテキストファイル(例えばHTML)にRubyのコードを埋め込むための“言語”。Ruby_script_fragment%>みたいに*2。 eRubyを解釈するには、eruby(←小文字)が必要。 Ruby Earrings…
each_index {|index| .... } 各要素のインデックスに対してブロックを評価します。 以下と同じです。 (0 ... ary.size).each {|index| .... } self を返します。 左式 while 右式 右辺の式を評価した値が真の間、左辺を繰り返し実行します。 左辺の式が resc…