Hatena::Grouprubyist

ayucat.chのRuby/Rails日記 (新) このページをアンテナに追加 RSSフィード

ayucatのRuby/Rails日記 ( rubyist.g.hatena.ne.jp/ayucat_on_t@be10g/ )からこちらに移行中

2008年分(冬)まで移行済み

ブログ本家はこちら

|

2008-07-15

Rubyでライブラリを再読み込みできないかな?

|  Rubyでライブラリを再読み込みできないかな? - ayucat.chのRuby/Rails日記 (新) を含むブックマーク はてなブックマーク -  Rubyでライブラリを再読み込みできないかな? - ayucat.chのRuby/Rails日記 (新)

require 'abc'

とかやっておいて、abc.rbのタイムスタンプを定期的に見に行って更新されたら、また読み込みできたりしないだろうか?

キモいかね?

def load_abc
  src = "abc.rb"
  dest = src.sub(".rb", "_#{Time.now.to_i}.rb")
  FileUtil.cp(src, dest)

  require dest
end

とかできんかね???

abc.rbの内容:

class Abc
  # ...
end

コメント

Meguu 2008/07/15 19:30

requireではなく、loadを使うのはいかがでしょうか。

ayucat 2008/08/18 07:38

なるほど、定期的にチェックしてloadをかけてやればいいということですね。タイムスタンプのチェックすらしなくてもいいということか。

require 'abc'

でできていたものが、

load 'abc.rb'

としないといけないのは注意しないといけませんね。

2008-06-30

Anvil 0.0.2 crash

Anvil入門

|  Anvil入門 - ayucat.chのRuby/Rails日記 (新) を含むブックマーク はてなブックマーク -  Anvil入門 - ayucat.chのRuby/Rails日記 (新)

RubyでwxRubyをラップするMVCライブラリAnvilに入門。

http://anvil.rubyforge.org/files/anvilties/README.html にある通り、

Installation

$ sudo gem install anvil

しても、Hamrが動かないので、

Living on the edge

If you‘d like to pull down the latest updates from the repository, checkout the trunk using git or subversion:

$ http://anvil.rubyforge.org/svn/trunk/

cd into the anvilties directory and run

$ rake install

Repeat the same steps for widget_wrapper.

に切り替えようかと。

$ http://anvil.rubyforge.org/svn/trunk/

ってのは、svnで言えば、普通に

C:\Users\ayucat>svn co http://anvil.rubyforge.org/svn/trunk/ anvil

って意味だろうと。Git for Windowsは入っているけど、別にいらないので、いいや。

そしたら、rake installでこけた。

C:\Users\ayucat\tmp\anvil\anvilties\spec>rake install
(in C:/Users/ayucat/tmp/anvil/anvilties)
rake aborted!
no such file to load -- spec/rake/spectask
C:/Users/ayucat/tmp/anvil/anvilties/rakefile:5
(See full trace by running task with --trace)

という具合。

そこで、rspecを入れたらいいだろ、ってことで、

C:\Users\ayucat\tmp\anvil\anvilties\spec>gem install rspec
Successfully installed rspec-1.1.4
1 gem installed
Installing ri documentation for rspec-1.1.4...
Installing RDoc documentation for rspec-1.1.4...

とした上で、もう一度、rake installしたところ、

C:\Users\ayucat\tmp\anvil\anvilties\spec>rake install
(in C:/Users/ayucat/tmp/anvil/anvilties)
  Successfully built RubyGem
  Name: anvil
  Version: 0.0.2
  File: anvil-0.0.2.gem
 gem install pkg/anvil-0.0.2 --no-rdoc --no-ri
Successfully installed anvil-0.0.2
1 gem installed

ということで、Anvil 0.0.2がなんとか入った模様。


落ちたので、諦めた

|  落ちたので、諦めた - ayucat.chのRuby/Rails日記 (新) を含むブックマーク はてなブックマーク -  落ちたので、諦めた - ayucat.chのRuby/Rails日記 (新)

Anvil 0.0.2を使ってHamrを動かしたら、落ちたので、諦めた。

2008-06-11

ruby-mode.el

ruby-mode.el - ayucat.chのRuby/Rails日記 (新) を含むブックマーク はてなブックマーク - ruby-mode.el - ayucat.chのRuby/Rails日記 (新)

d:id:next49:20080606:p2

emacsruby-mode.elで、ダブルクォーテーション(”)や各種括弧を入力したとき、対応が悪いとハイライトされるのだけど、この色をどうにか変えたい。今の配色はこんな感じになってしまい、さっぱり字が読めない。

[...]

そもそもどこで定義されているのかもわからない(Debianなので、ruby-mode.elcとバイトコンパイルされてしまっている)。

ruby-mode.elの配色 - 発声練習

んと、Debianruby-modeが古いのかな?下記の環境では起きないなー。

$ cat /etc/issue.net 
Ubuntu 8.04.1
$ dpkg -l ruby1.8-elisp |grep elisp
ii  ruby1.8-elisp  1.8.6.111-2ubu ruby-mode for Emacsen
$ grep Revision /usr/share/emacs/site-lisp/ruby1.8-elisp/ruby-mode.el
(defconst ruby-mode-revision "$Revision: 12032 $")

ところで、Ubuntuのバージョンを確認する方法はどうしたらいいでしょう?

$ dpkg -l ubuntu-standard |grep ubuntu
ii  ubuntu-standar 1.102          The Ubuntu standard system

かな?

コメント

next49 2008/06/12 00:13

情報ありがとうございます。

Debianですと現在入れているバージョンは/etc/debian_version

に書いてあります。

ちなみにLinuxカーネルのバージョンは

uname -a

/proc/version

に書いてあります。

next49 2008/06/12 20:25

おかげさまで解決できました。

あのハイライトはset-face-backgroundの変数flymake-errlineがLightPinkに設定

されているのが原因でした。

http://d.hatena.ne.jp/next49/20080606/p2

ayucat 2008/09/30 21:42

カーネルのバージョンはもちろん分かるのですが、Ubuntuは初心者なもので。。。そのバージョンを調べる方法がいまだに分からずです。。。><

2008-06-02

RubyのBase64エンコード

RubyのBase64エンコード - ayucat.chのRuby/Rails日記 (新) を含むブックマーク はてなブックマーク - RubyのBase64エンコード - ayucat.chのRuby/Rails日記 (新)

d:id:tasukuchan:20080602:1212416261

Base64.b64encode()を使うと、今度は途中とお尻に勝手に改行が入る。マニュアルには書いていない挙動(るびまには書いてあるが)。

x86_64環境でRubyからMySQLのクエリを実行するときの問題が示す根本的な問題… - グニャラくんのグニャグニャ備忘録@はてな

より。

あれ、

irb> require 'base64'
irb> puts Base64.b64encode("x" * 100, 30)
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH
h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eH
h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eA==
irb> puts Base64.b64encode("x" * 100, 60)
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eA==
irb> puts Base64.b64encode("x" * 100, 120)
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eA==
irb> puts Base64.b64encode("x" * 100, 1 << 32 -1)
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4
eHh4eHh4eHh4eA==

って・・・。そういうもんですっけ?

気持ちが悪いなー。結局60以上にできないって。。。

もひとつ。

Base64.b64encode().split.joinなどをして改行を除去する必要がある。

x86_64環境でRubyからMySQLのクエリを実行するときの問題が示す根本的な問題… - グニャラくんのグニャグニャ備忘録@はてな

ってあるけど、

Base64.b64encode().gsub(/\n/, '')

ではなくて、

Base64.b64encode().split.join

ってのは何でなんかな。

タイプ量が短いんかな?

速いんかな?

「本当にみんなサーバサイドでRubyを使っているんだろうか」

とちょっと不安になったりしたのでした…

x86_64版のOSは今や珍しくなくなってきましたし…

x86_64環境でRubyからMySQLのクエリを実行するときの問題が示す根本的な問題… - グニャラくんのグニャグニャ備忘録@はてな

1<<32-1

なんて大きい数字はおろか

1<<20

ですら、扱う必要がないサーバサイドでRuby on x86_64を使っているな、私。

参考文献

コメント

tasukuchan 2008/06/03 12:17

おおおー!ruby-doc.orgっていうのがあるんですね。

こちらだとちゃんとb64encodeの挙動が書いてありますねー。参考になります。

改行除去は好みの問題だと思います。

るびまでsplit.joinと書いてあったのでそうした記憶があります。

ayucat 2008/06/04 00:25

なるほど、るびまを読まないRuby歴が長くなってしまっているので、これを機会にるびまを読んでみようかと思いました><

パッチを公開されてますね。次回大きい数字を扱う場面でぜひ利用させてくださいm(__)m

|