[ruby]IronRuby0.9.0ためしてみた

ふと気づいたらIronRubyの0.9.0が出てたのでちらっと試した。


ironruby - mamamotoの日記


前回ためしたときの日記。つーかDisposeがよくわからないとかいってる俺の文章が意味わかんないけど
このときはDisposeが実行されないって意味だったとおもう。Disposeに限らずoverrideがだめだった気がする。


んでフォーム表示を再度試したらちゃんとDisposeに処理がわたりましたわーい。

近況

とつぜん近況なんか。


先月末くらいに仕事やめてからプログラム的なことはぜんぜん触れてませんでした。


ちょっとまえにGreasemonkeyいじった日が1日あったくらいでそれ以外はたぶん0。


つーのも俺がここに日記書いたりどう書くやったりなんかプログラム遊びするときは
全部しごとさぼってやっていたのですね。
1日がかりでさぼって遊んだりとかよくやってた。


過去の記事の更新時間みると真昼間とかによく書いてますね。
これはニートだからじゃなかったのですむしろニートの今は書かなくなったのです。


Livedoor Readerもまったく触れてないから相当たまってるだろうな。
これも家では読む習慣なかったので。


あーあと音楽も聞く頻度さがったな仕事中ききっぱみたいなのなくなったし。
これは0ではないけれど。


で、今日ちょっとファイルの整理にRuby書きたかったので
家のPCにVMWare整えて(つーか整えようとしたらファイル共有がうまくいかないで
vmware-tools入れなおしたりしたけどなんか動かないでいろいろとかやってた)
ちょっとRuby書いたのでその流れでここも書く気になったのです。


環境って大事だなあと思う今日この頃でした。

rubyのコンパイルオプションが-O3になってた。

rubyのtrunkをsvn upしてmakeしてみたら-O3ってなってたのに気づいた。
ChengeLogみるに

Sat Jan 31 18:08:59 2009 Nobuyoshi Nakada

* configure.in (optflags): defaulted to -O3 to get rid of slug of
gcc 4.3.

ということでslug of gccは良く分からないけど-O3になったみたいだ。

$ svn di -r 21915:21916 configure.in
Index: configure.in
===================================================================
--- configure.in        (リビジョン 21915)
+++ configure.in        (リビジョン 21916)
@@ -190,7 +190,7 @@
 test $ac_cv_prog_cc_g = yes && : ${debugflags=-g}
 if test "$GCC" = yes; then
     linker_flag=-Wl,
-    : ${optflags=-O2} ${warnflags="-Wall -Wno-parentheses"}
+    : ${optflags=-O3} ${warnflags="-Wall -Wno-parentheses"}
 else
     linker_flag=
 fi

「文字列を指定されたバイト数で分割」やった

どう書く?やった。
http://ja.doukaku.org/comment/8486/


ちょうどるびまの記事とか読んでてタイムリーなRubyの1.9のM17Nがぴったりな感じだった。
あと個人的には配列戻すところにEnumeratorにinjectがばしーと決まった感のある部分が気に入ってる。
最初は普通に戻り用の変数とか宣言してたんだけど気に食わないでいじってたらできた。

「Ricsin: Ruby に C を埋め込むシステム」動かしてみた

るびまより。

ホント触りだけだけど。

svn co http://svn.ruby-lang.org/repos/ruby/branches/ricsin/
cd ricsin
autoconf
./configure
make

でRicsin用rubyのmake。

ricsin/ricsin/README読むとInvoke "ricsin foo.rcb" commandとあるから
make ricsinってやってみるけどt.rcbがねえって怒られた。make ricsinは開発作業用?


んでmake ricsin-testって言うのもあってやってみると何かが動いた。
何かを参考にすると

./ruby ricsin/ricsin.rb ricsin/test.rcb --run

という様に、Ricsin用rubyでricsin.rbにrcbファイルを渡す、って言う手順みたい。
後ろに--run付けるとrcbを元にしたsoの生成と実行までやってくれる。


とりあえずここまで。
なんつーかこういうクロスオーバー物は好き。これとかRubyInlineとかWindowsスクリプトホストとか。
言語でなくてもVMwareとか。

magic comment

るびま

この記事読んで

#!/bin/env ruby
# -*- coding: UTF-8 -*-
puts "Emacs 風"

っていうファイル作ってセーブしようとしたら

Warning (:warning): Invalid coding system `UTF-8' is specified
for the current buffer/file by the :coding tag.
It is highly recommended to fix it before writing to a file.

ってEmacsに怒られた(Emacs23)。

色々試した結果

# -*- coding: utf-8 -*-

エンコーディングの指定を小文字にすると解決。

Firefoxでのボタンクリックのエミュレーション

Greasemonkey使ってどっかのサイトのナビゲーションを自動化したいことがありました。
たとえばトップページからかならずログインボタンをクリックしないと進めないようなサイトです。


そんなときはボタンのクリックをGreasemonkeyでどうにかならないのかなあ、と思ったことがありました。
でもちょっと検索しても見つけられなくてPOST投げるかなとか思って、でもそれは面倒で止めていました。


ところが今日なんの機会かDOMのリファレンス見てたらクリックを何とかする方法を見つけました。


うれしかったです。

<html>
  <head>
    <script type="text/javascript">
      function simulateClick(obj) {
        var evt = document.createEvent("MouseEvents");
        evt.initMouseEvent("click", true, true, window,
        0, 0, 0, 0, 0, false, false, false, false, 0, null);
        obj.dispatchEvent(evt);
      }
      function cl() {
        var cb = document.getElementById("checkbox");
        simulateClick(cb);
      }
    </script>
  </head>
  <body>
    <form method="POST" action="a">
      <input id="checkbox" type="submit" value="button">
      <input onclick="cl();" value="Simulate click" type="checkbox">
    </form>
  </body>
</html>