hakeの日記

Windows環境でプログラミングの勉強をしています。

ruby

[es]でRubyを試す その2

irbが動かないのはRubyのTempfileクラスに問題があるということで、問題を回避する方法がこちらにありました! muscovyduckさんに感謝です。 ただしDOS窓Openでは動かないので、Power Toysからcmd.exeを持ってくる必要があります。スクリプトを修正してからc…

Ruby 1.8.5-4

がdipusさんトコで公開されてました。何やらセキュリティフィックスをあてられたとか。Reameも日本語PDFになってます。 ブログにrubyパッケージを落としていく人が増えたと書かれています、Ruby好きとしては嬉しい限りですね。 http://tty0.exblog.jp/461963…

[es]でRubyを試す

ruby-mswinceというのを見つけたので試す。バージョンは1.8.1と少し古いですね、せめて1.8.2以降であって欲しかった(^^ゞ PocketPC用のARM版をダウンロードして展開するとLinuxではお馴染みのディレクトリ構成が……とりあえずbin以下のruby.exe,rubyw.exe,msw…

Rubyでプログラミング入門

http://d.hatena.ne.jp/mailishmaid/ 暫く前からの注目ブログ、WindowsでRuby入門する人には便利かも。最新の日記ではエディタと統合環境の紹介をされていますね、知らないエディタがいろいろあるし(^^ゞ Ruby本編にも期待です。

Rubyを仕事に使うべし!

http://itpro.nikkeibp.co.jp/article/COLUMN/20060921/248715/ http://itpro.nikkeibp.co.jp/article/COLUMN/20060919/248318/

引数付きシグナル

Ruby/Qteの勉強 その41 画面をタップしてその座標をテキストエリアに表示するプログラム。MyWidgetのmousePressEventにてシグナルtappedを発生、それを受けてMyLineEditのdispPosメソッドで座標を表示させる。その際にシグナルの引数として座標を示すクラ…

rescue

Rubyの勉強呼び出したメソッドでエラーが発生してもちゃんと補足してくれました <当たり前? $@には呼び出した行と、実際にエラーが発生した行の2つが格納される。 begin a = nil a.abc rescue Exception => err p err.class #=> NoMethodError p err #=> #<NoMethodError: undefined method `abc' for nil:NilClass></nomethoderror:>…

openssl

rubyのライブラリでも暗号化ができるようです。使用可能な暗号の種類はopensslに依存するので $ openssl enc --helpで確認。 マニュアルのサンプルスクリプトを試したのですがAESナンタラという暗号だとCipher#finalでエラーになりますね……PCでもザウルスで…

Blowfishによる暗号化

BURPはBlowfishという暗号化アルゴリズムを使用しているということで、探したところありました、Ruby用が。 http://www.moodindigo.org/blog/archives/000320.htmlこちらのblowfishpr.rbを使用すればRubyでBlowfishを使用した暗号化/復号化が可能になります…

Module

Rubyの勉強昨日のLOGOマネスクリプトは肝心のタートルの動作制御についての記述がソースの中にあるので使い勝手が悪い、何とかならんかと思っていたらModuleを思い出した。これだとメソッドdrawだけ別ファイルに追い出せます。 Moduleファイルmoduletest.rb…

LOGOをマネる

Ruby/Qteの勉強 その40LOGOというタートル(カーソル)を相対座標で制御して描画する言語をマネる。 http://ja.wikipedia.org/wiki/LOGO といってもプログラム言語そのものを作成したわけではなく、Turtleというクラスを作成して、forward(100)をtt.foward…

pとputs

Rubyの勉強 プログラムを書いている最中に確認の為に良く p を使用しますが、残念ながら日本語が表示できない。そんな時は素直にputsを使用します。 文字コード変換が絡むテストをしている時に、このことを忘れてしまい悩んだことが何度もあります(^^ゞ a = …

net/http

Rubyの勉強 ネット上のhtmlの取得はopenuriでもできますが、同じサーバー上の複数のファイルを取得するにはこちらの方が良いみたいですね。 #headの使い道が今ひとつよくわかっていません。

添付ファイルの処理(Base64)

Rubyの勉強メールにファイルが添付される場合は Content-Type: application/octet-stream; name="zvol_0.0.4b-1_arm.ipk" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="zvol_0.0.4b-1_arm.ipk" H4sIAMP4eEQAA+2aVVAczrPvI…

net/smtp - メールの送信

Rubyの勉強 とりあえずマニュアルのサンプルを殆どそのまんま実行。ヘッダ部の日本語のエンコードは無視。いきなり送信はできないみたいなのでPOPbeforeSMTPを行って送信しています。 ヘッダ部のTo:やらFrom:のアドレスには送信にあたって意味がないことがわ…

rubyのホームページ

のデザインが一新されました。なんかカッコいいぞ! Try Ruby!のページでブラウザ上でirbが動くのが面白いですね、このページへのリンクって前からありましたっけ?

net/pop - メールの受信

Rubyの勉強 pop/apopサーバーに接続してメールを取って来る。下のサンプルではyahooメールにアクセスして各メールのunique-idとヘッダと本文10行をファイルに保存。文字コードはJIS。タイトルのデコードはNKFで実施、オプションはBだと思ったらNだった、この…

YAML

Rubyの勉強構造化したデータを表現するフォーマットで、XMLと比べて人間がアクセスしやすい形式。インデントでネストの深さを指定する。以下のサンプルでは変数に対して入出力をしているけど、当然ファイルに対しても可能参考サイト:http://jp.rubyist.net/…

Hashのkeyの等しさの判定

Rubyの勉強 Hashのkeyに独自クラスを使用した場合に、そのクラスのhash値が等しくて、かつ、#eql?がtrueならば、二つのkeyは等しいものと判断される。 以下で#hashの戻り値が@aであったり、#eql?がfalseであれば、#include?の結果はfalseになる。 class Test…

QListViewの色

いくつかのブログでザウルスのRuby/QteではQListViewに色がつけられないと書いてあったので自分も挑戦してみる。 C++サンプルをみるとQListViewItemを継承したクラスを作ってpaintCellをオーバーライドしてQColorGroupの色指定を条件により変更すればよいみ…

ウィジェットの配置 - QGridLayout

Ruby/Qteの勉強 その39 昨日のBigDecimalを利用して簡易電卓の作成、一応表示桁数は20桁としてみる。 QGridLayoutの使用方法は、あさあさみっくすさんの公開メモを参考にさせていただきました。 ウィジェット配置用に6×4のグリッドを作成、その内LCD表示用…

BigDecimal

Rubyの勉強 可変長浮動小数点計算機能ライブラリ、任意の有効桁数を指定できる。 数字はStringで与える。下では結果もStringで取得。 require 'bigdecimal' require 'bigdecimal/math' include BigMath def my_div(a, b) (BigDecimal(a.to_s,100) / BigDecim…

XMLの解析

Rubyの勉強 昨日のスクリプトだと何故かPodcast系のRSSが上手くいかないので、REXMLを使用してxmlを直接解析。xmlは <foo …>……</foo>を一つのelementとして扱うみたい、基本的にはあるelementが子elementを持っているか確認してeach_elementで階層を降りていくように解析…

RSSの解析 - REXMLを使う

Rubyの勉強REXMLを使って、Podcasting Juice(http://www.podcastjuice.jp/)のRSSの解析のサンプルスクリプト。最近のはitunes関連のタグが入っているのでREXMLを使った方が柔軟に対応可能だと思う。

RSSの解析

Rubyの勉強 RSS Parserを使用することで取得したRSS内の情報を簡単にとりだすことが可能。以下ははてなのこのページのRSS情報をrss.xmlというファイルにしてから解析を行ったもの。Windows環境で行ったため出力をSJISに変換している。 参考サイト:http://ww…

Kernel#block_given?

Rubyの勉強 WEBrickのサンプルで出てきた記述。メソッドでブロック付きと無しで違う動作が定義できるみたいです。 class Test def initialize @array = ['a', 'b', 'c', 'd'] end def test if block_given? @array.each do |i| yield i + ":" end else @arra…

Rubyでwiki

HikiというRubyで書かれたWikiクローンがあったので昨日のwebrick上で動かしてみました。とりあえず自宅のLANでPCからアクセスして管理者パスワードの設定するところまで終了。う〜ん、やっぱザウルス上でのオールRubyだとちょっと重いですか、でもRubyだけ…

Rubyでhttpサーバー

プログラミングRuby 第2版 言語編を読んでいてRubyでWEBrickを使用するとhttpサーバーを作ることができるということを知ったので実験。 後述のサイトを参考にして、/home/zaurus/Documents/ruby/webrickを基準ディレクトリして、ここにサーバースクリプトを…

Ruby 1.8.5

がリリースされましたね。 ザウルス用は例によってdipusさんトコで公開されているのでゲットです。 http://www.focv.com/ipkg/

#include?の挙動

Rubyの勉強 include?は引数がArrayやHashのkeyの要素として含まれるか判断するメソッド。要素として自分で定義したクラスのオブジェクトを使用する場合、Arrayだと演算子で判断されるが、Hashの場合はでは判断されない模様。 Array#include?と同じ感覚でHash…