zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|
2012|04|05|06|09|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2009年06月03日(Wed)

[ruby] freeze された文字列に対する変化のない gsub! など

Ruby 1.9 - Bug #1550: String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes - Ruby Issue Tracking System で gsub! などが実際に変化があったときではなく、最初に freeze されているかどうかをチェックするようになった影響で、trunk の make に失敗するようになっていた。

知らずに変更前の動作に依存するというバグが存在していて「RuntimeError: can't modify frozen string」が発生して顕在化するという状況が他でもたくさん起きそう。


2009年06月04日(Thu)

[debian] sidで

こんなメッセージが出てきたので、この入力は日本語でしないといけないのかどうかが気になるところだけど、upgrade は待ち。 BTS を見てみたら http://bugs.debian.org/531846 でどうするか話をしていた。

以下の必須パッケージが削除されます!
  mktemp

警告: このアクションを実行した結果、システムが壊れるかもしれません!
      何をしようとしているか本当に理解していない場合は先に進んではいけません!
先に進む場合は 'これが非常にまずい考えだとわかっています' というフレーズを入力してください:

中断。

2009年06月08日(Mon)

[debian] dash のリダイレクトがバグってる?

LANG=ja_JP.UTF-8 の環境でデスクトップにファイルを作ろうとしてはまった。

  • Debian etch の dash 0.5.3-7
  • Debian lenny の dash 0.5.4-12
  • Debian sid の dash 0.5.5.1-2
  • Ubuntu jaunty の dash 0.5.4-12ubuntu2

で確認。

% dash -c 'echo aトb' | od -c
0000000   a 343 203 210   b  \n
0000006
% dash -c 'echo >aトb'
% ls a*b | od -c
0000000   a 343 203   b  \n
0000005
% rm a*b
% bash -c 'echo >aトb'
% ls a*b | od -c
0000000   a 343 203 210   b  \n
0000006
% rm a*b
%
本日のツッコミ(全2件) [ツッコミを入れる]

moki [ん〜?UTF-8、ターミナルはevilvte、debian sid: dash 0.5.5.1-2で特に問題無し。]

znz [最初に問題を発見したのは以下のようにデスクトップに起動用アイコンを作成しようとして出来なかった(ので結局bashを使..]


2009年06月16日(Tue)

BTS

http://bugs.debian.org/533329

こういうことは upstream に報告してくれた方がいいような。 最初に問題に気づいた tdiary 方面の人からとか。

本日のツッコミ(全1件) [ツッコミを入れる]

ただただし [むむむ。1.8ブランチでは直っているという話を聞いていたので、報告してなかったんだよね。1.8.7ブランチにはバック..]


2009年06月17日(Wed)

[ruby] patition

Enumerable#partition を期待していたら String#partition という全然別のメソッドになっていた。

% ruby-1.8.6 -v -r enumerator -e 'p "a\nb\nc\n".partition{|s|/b/=~s}'
ruby 1.8.6 (2009-06-08 patchlevel 369) [i686-linux]
[["b\n"], ["a\n", "c\n"]]
% ruby-1.9.1 -v -r enumerator -e 'p "a\nb\nc\n".partition{|s|/b/=~s}'
ruby 1.9.1p129 (2009-05-12 revision 23411) [i686-linux]
-e:1:in `partition': wrong number of arguments(0 for 1) (ArgumentError)
        from -e:1:in `<main>'
%

やろうとしていたことは Enumerable#partition を使う必要はなかったので、each_line で書き直したけど。


2009年06月18日(Thu)

[ruby] rip

rip が話題のようなので、とりあえずインストールしようとしてみる。

% gem18 install rip
Building native extensions.  This could take a while...
ERROR:  Error installing rip:
        ERROR: Failed to build gem native extension.

/home/kazu/opt/ruby18/bin/ruby18 extconf.rb
rip: installing library files
rip: installing rip binary
rip: access denied. please try running again with `sudo`


Gem files will remain installed in /home/kazu/opt/ruby18/lib/ruby/gems/1.8/gems/rip-0.0.1 for inspection.
Results logged to /home/kazu/opt/ruby18/lib/ruby/gems/1.8/gems/rip-0.0.1/ext/gem_make.out
%

えーと、どこに書き込もうとしてますか?

lib/rip/setup.rb:
(略)
    # caution: RbConfig::CONFIG['bindir'] does NOT work for me
    # on OS X
    BINDIR = File.join('/', 'usr', 'local', 'bin')
(略)
    def install_binary(verbose = false)
      transaction "installing rip binary" do
        src = File.join(RIPROOT, 'bin', 'rip')
        dst = File.join(BINDIR, 'rip')
        FileUtils.cp src, dst, :verbose => verbose
      end
    end
(略)

これはひどい。


2009年06月21日(Sun)

[ruby][debian] BUG forwarded

forward されていた。

以前みた Debian BTS からの forward は Feature #1377 という感じだった。 そういえばこれは 1.8.8 に backport してもらった方がいいんだろうか。


2009年06月25日(Thu)

[ruby] 継続行

http://d.hatena.ne.jp/ku-ma-me/20090614/p3#20090614f2 をみて

printf "ruby 1.%d\n", 8
+ 1

というのを考えて試していなかったのを思い出した。

実際に試してみると、改行を挟んでいてもいいのは「.」のときで全然ダメだった。

% ruby-1.8.7 -ve 'p 1.8
 + 0.1'
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
-e:2: warning: useless use of a literal in void context
1.8
% ruby-trunk -ve 'p 1.8
 + 0.1'
ruby 1.9.2dev (2009-06-24 trunk 23837) [i686-linux]
1.8
% ruby-trunk -ve 'p 1.8
 .+ 0.1'
ruby 1.9.2dev (2009-06-24 trunk 23837) [i686-linux]
1.9000000000000001
% ruby-trunk -ve 'p 1.8

 .+ 0.1'
ruby 1.9.2dev (2009-06-24 trunk 23837) [i686-linux]
-e:3: syntax error, unexpected '.', expecting $end
 .+ 0.1
  ^
% ruby-1.8.7 -ve 'p 1.8
 .+ 0.1'
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux]
-e:2: syntax error, unexpected '.', expecting $end
 .+ 0.1
  ^
%

でも「空行があるとないとで意味が変わるところ」は見つけられた。


2009年06月26日(Fri)

[ruby] Re: simpletrace: ライブラリのスタックトレースを消すライブラリ

Rails 2.3 だと BacktraceCleaner で隠れるようになっている。

本日のツッコミ(全1件) [ツッコミを入れる]

ku-ma-me [あー、やっぱりみんな考えますよね。 スタックトレースの表示は Ruby コアでももうちょっと工夫のしようがないかな..]


2009年06月30日(Tue)

[ruby] http://jp.rubyist.net/magazine/?0026

0026 号出ました。事実上 RegionalRubyKaigi 特集号。


copyright © 2001-2013 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73