hakeの日記

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

ruby

Rubyで形態素解析

最初はMeCab+nattoで試したのですが、MeCabのサイトで公開されているライブラリは64bit Rubyでは動作しませんでした。他はないのかと検索したところ、こちらでRubyによる形態要素エンジンokura(注:ocraではない)が公開されていましたので早速インストール…

RubyGemsが使用できない

RubyGemsを使用しようとして、ここ数日使用できなくなっていることに気が付きました。 発生を確認したのはRubyInstallerのruby2.1.4とRumix2のruby2.0.0です。 C:\>gem search rails *** REMOTE GEMS *** (結果が表示されない) C:\>gem update --system ER…

MinGW環境としてRumix2のDevKitを使用する。

Ruby/Tkの勉強環境としてインストールしたRumix2は、(選択すると)同時にDevKitがインストールされます。これはrubygemsでruby関連のツールをインストールするときにコンパイルが必要な場合に使用される環境です。DevKit中を覗くとMinGWで使用するツール類…

Ruby/Tk サブウィンドウの作成

サブウィンドウ用のメソッドopen_sub_windowを作成して、このメソッド内でサブウィンドウのウィジェットを配置して作成します。 ルートウィンドウ側との情報のやり取りについて、最初はメソッドの引数と返り値で行おうとしましたが、メソッド自体は直ぐに終…

Ruby/Tk TkVariableの使用

ウィジェットで変化する値を使用する場合にはTkVariabeを使用する。TkVariableの値が変化すると、その変数を参照しているウィジェット上の表示が即時変化する。 TkVariable#new_hashとするとHashとして使用できる。この場合にはウィジェット内で使用する場合…

Ruby/Tk ウィジェットへのパラメータ指定方法

サンプルをみると書き方がいろいろあって混乱するのでメモ #coding: windows-31J require 'tk' # Widjetのパラメータの指定方法 # newの引数として指定する方法 # 第1引数は親ウィジェット # 第2引数以降はHashのキーと値 # キーはStringでもSymbolでもOK # …

Ruby/Tkプログラムのexe化

Rumix2環境でのocraを使用したexe化は以下の要領で。 VisualuRubyに比べてファイルサイズが大きくなって、起動が遅くなるのがちょっと残念です。 $ ocra xx.rb C:/rumix2/ruby/2.0.0/i386-mingw32/lib/tcltk --windows --no-autoload --add-all-core

Ruby/TkのComboBox

Ruby/Tkでは標準で?ComboBox(プルダウンメニュー)が無いようですね。拡張ライブラリを覗くと3種類のComboBoxがありましたが、Rumix2の環境では前者2つは別途ライブラリをインストールしないと動作しないようです。 /tkextlib/bwidget/combobox.rb /tkextl…

Rumix2 - Windows上でのRubyのプログラム環境

Ruby2.0系になってActiveScriptRubyがvisualurubyを同梱しなくなった為、気軽にGUIプログラムができる方法を探していたところ、Rumix2というパッケージを見つけました。 MinGW版のRuby(現在のバージョンはruby 2.0.0p451 (2014-02-24) [i386-mingw32])とRu…

RubyスクリプトのGUIをHTAに(続き)

ruby-listのANNをみると、HTAでRubyスクリプトを動かすこともできるらしい。 昨日のHTAを書き換えて、外部のrubyスクリプト呼び出しを止めて、表示メソッドをそのままHTA内に記述してみる。 rubyがインストールされているPCでの使用であれば、こちらの方がお…

RubyスクリプトのGUIをHTAに

rubyで作成した簡易ツールをVisualurubyでGUI化して使用していたのだけれど、ActiveScriptRubyが2.0以降Visualurubyを同梱しなくなってしまったので、その代替策としてGUI部分をHTA(HTML Application)に置き換えてみる実験。 HTA上で選択したファイルパスをW…

サクラエディタの外部マクロとしてrubyを使う その2

前回と同じことをするマクロのJScript部分をVBScriptに書き直ししてみました。 んー、細かい文法がJScriptを異なっているのでちょっと面倒かも。

サクラエディタでRubyを使う

サクラエディタをRuby用(拡張子.rb)に設定する。 サクラエディタ本体は、こちらから、sinst2-0-4-0.exeをダウンロードしてインストール Ruby用の設定ファイル自体は既に同梱されていたので、こちらのRubyDef.lzhのreadme.txtに従って設定する。 外部HTMLヘ…

サクラエディタの外部マクロとしてrubyを使う

検索してみるとエディタからJScriptのマクロを呼び出して、その中でrubyスクリプトを呼べば良いみたい。 試してみるとrubyスクリプトの標準出力は、そのままエディタ上のカーソル位置に挿入される様です。JScriptマクロからrubyスクリプトへテキストを渡すに…

devkitのインストール方法 -- MinGW版ruby

ruby 1.9.3をインストールしたついでにいれてみたのでメモ。 dev-kitをいれておくとバイナリの無いgemをインストールしようとした場合にコンパイルを行ってくれるので対応できる場合が多いということみたい。 入手先 RubyInstallerのページから入手。現時点…

IronRubyを試してみる

インストールしたのは、こちらの最新版の1.1.3(ruby 1.9.2ベース) >ir -v IronRuby 1.1.3.0 on .NET 4.0.30319.225.NETの作法がまったく分からないので、こちらのソースを参考にさせて頂き、1行目に文字コード指定を追記、ソース内の文字列を日本語にして…

IronRubyの統合開発環境

Visual Studio 2010 Shell IronRubyは、Visual Studio 2010に対応しているのですが、残念ながらExpress Editionでは使用できないようです。ただし、Microsoft Visual Studio 2010 Shellをインストールした後、IronRubyをインストールすると新規テンプレート…

Visualu Ruby 自動レイアウト

VisualuRubyの勉強 その8 最近使用する機会があったので基本の勉強、自動でレイアウトさせる方法。 環境は、WinXP上のActivescriptRuby ver.1.9.2p136(入手先) こちらのサンプルを参考にしました。 部品を縦に並べる場合 VRVertLayoutManagerをincludeす…

Visualu Ruby 自動レイアウト その2

VisualuRubyの勉強 その9 VRGridLayoutManagerを使用する方法 ベースを縦横10分割して、各部品について配置する左上位置、幅、高さを指定する。

raccのインストール - ruby 1.9.2-p136

ここの最新パッケージにraccが入っていなかった(なぜかparser.rbとcparse.soは入っていた)のでインストールのメモ

後方参照のレベル - Ruby1.9の正規表現

「正規表現」に無限のパワーを与える"田中哲スペシャル" - Atzy->getLog() を拝見して、田中哲スペシャルというのを知りました。 対応する括弧やタグのマッチが簡単にできます。いやぁ、正規表現って奥が深いっす。 # coding: windows-31j s = '<a><b>text1</b>text2</a>' …

Ruby on Railsのインストール

興味再燃。以前購入した入門書は訳がわからずに挫折したので、2ちゃんのRailsスレで最新のRailsに対応?していると紹介されていた入門書を購入。Head First Rails ―頭とからだで覚えるRailsの基本作者: David Griffiths,松田明,児島修出版社/メーカー: オラ…

Ruby 1.9で書いたスクリプトのexe化

ruby 1.9でスクリプトをexe化するためのメモ 現在使用中のruby入手先 Ruby MSI Packagesで公開されている、Ruby-1.9.1-p429 (RI抜き) Microsoft Installter Package(2010/07/021 version 28523) 同じ場所にあるASR191(Ruby- 1.9.1用AddOn)も一緒にインストー…

Rubyでコンパイラを作ってみる その3

コンパイル済みのアセンブリ言語ファイルを実行するインタープリターを作成しました。 C:\> ruby interpreter.rb sample.asm

Rubyでコンパイラを作ってみる その2

関数を定義して使えるように拡張しました。 関数の引数とローカル変数はスタック上に置くので、それをアクセスする基準となるベースポインタと、関連するオペコードを追加。

Rubyでコンパイラを作ってみる

GWの時間を利用して勉強のために、Rubyを使って超簡易コンパイラを作ってみました。 ソースを読み込んで、仮想スタックマシンのアセンブラを出力します。 使用したRubyのバージョンは1.9.1、Windows環境で作成しています。

リファレンスマニュアル(chm版)の開き方

こちらで月一で更新されているマニュアルのchm版について、内容が表示されるはずの右ペインに 「Web ページへのナビゲーションは取り消されました」 と表示されて使用できない。何度かトライしたのですが、どうやらセキュリティ関係のブロックを外す処理が必…

raccを試す その2

マニュアルページを参考にif文を追加してみる。 if expr [then] statement [else statement] end追加したstatementには現状if文と式(expr)しか存在しない。 if文の文法は上記のようにトークンthenと、else節を省略可能にしてendで終了。条件式は0以外を真と…

raccを試す その2.1

conflictの原因が全く分からない。とりあえずトークンthenの省略を付加にしたら出なくなった。 rule target: stmt | /* none */ { result = nil } stmt : if_stmt | expr if_stmt:IF expr then else END { result = (val[1]!=0?val[2]:val[3]) } then : THEN…

raccを試す

プログラミング言語を作るにyaccという構文解析ツールの使い方についての簡単な解説が載っていました。使い方の雰囲気的は理解できたので、興味をもって検索していたらRubyにも似たようなraccというのがあるのを知り試してみました。 raccそのものは、Window…