[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:003816] Re: Rubyパッケージ
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:003816] Re: Rubyパッケージ
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxx>
- Date: Tue, 20 Jan 2015 21:54:07 +0900
堀之内です。
(予想通りですが)ctrlファイルをパースする際,時刻の単位に
UTC を表すべくつけられるようです。今までの numru-units は
Z を特に解釈しなくて,単に無視する結果としてデフォルトの
UTC になってうまく行くようになったと推察されますが,racc
の仕様変更によってそうならなくなったようです。
とりあえず cvs 版では直しました。(src/lex.rb で
正規表現で UTC を拾ってるところを (UTC|Z) に変えた。)
改訂版を早くリリースしてほしいでしょうか。
> 大塚さま
>
> Z はどこから来るんでしょう。ctrlファイル中の
> 単位にはみあたらないですが。
>
> > 大塚です。
> >
> > 遅ればせながら numru-units 1.8 を使ってみました。
> >
> > GPhys で GrADS 形式のファイルを読んだところ、以下のようなエラーが
> > 出ましたので報告します。
> > テストコードとテストデータを添付します。
> >
> > ruby 2.0.0p353 と 2.2.0p0 で確認しましたが、同じエラーが出ました。
> > 以前の units ではエラーにならなかったと思います。
> > GPhys は 1.4.1 です。
> >
> > 時間の単位の所で問題が起こっているようですが、
> > それ以上はまだ確認していません。
> >
> > よろしくお願いいたします。
> >
> > otsuka@hakushu:~> ruby test.rb
> > /home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:529:in `on_error':
> > (Racc::ParseError)
> > parse error on value "Z" (NAME)
> > from /home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:258:in
> > `_racc_do_parse_c'
> > from /home/otsuka/ruby200/lib/ruby/2.0.0/racc/parser.rb:258:in `do_parse'
> > from units.racc:2466:in `do_parse2'
> > from units.racc:2471:in `ptree'
> > from units.racc:2661:in `binop'
> > from units.racc:2674:in `/'
> > from units.racc:2713:in `=~'
> > from
> > /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/axis.rb:642:in
> > `[]'
> > from
> > /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:515:in
> > `block in []'
> > from
> > /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:514:in
> > `each'
> > from
> > /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/grid.rb:514:in
> > `[]'
> > from
> > /home/otsuka/ruby200/lib/ruby/site_ruby/2.0.0/numru/gphys/gphys.rb:665:in `[]'
> > from test.rb:4:in `<main>'
> > otsuka@hakushu:~> ruby -v
> > ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]
> >
> >
> > On 2015/01/13 10:52, Takeshi Horinouchi wrote:
> > > 神代さま
> > >
> > > 確認ありがとうございました。
> > >
> > >> ただ, units.rb の最後にも同じテストが入っているはずですが,
> > >
> > > test.rb が取り込まれるんですね。意識してなかったので,
> > > test.rb 更新後に再生成しませんでした。まあ test.rb の
> > > ほうが通るのでいいことにします。(次のリリースのときには
> > > 取り込まれるでしょう。)
> > >
> > >> 神代です.
> > >>
> > >> ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
> > >> ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]
> > >>
> > >> にて, src/test.rb で確認しました. 大丈夫です.
> > >>
> > >> ただ, units.rb の最後にも同じテストが入っているはずですが,
> > >> なぜか答が間違っている古い状態になっているようで,
> > >>
> > >> % ruby units.rb
> > >>
> > >> のほうは失敗しました.
> > >>
> > >> よろしくお願いします.
> > >>
> > >> --
> > >> 神代 剛 (こうしろ つよし)
> > >> 気象研究所気候研究部第四研究室 支援研究員
> > >>
> > >>
> > >> At Mon, 12 Jan 2015 18:57:18 +0900,
> > >> Takeshi Horinouchi wrote:
> > >>>
> > >>> 堀之内です。
> > >>>
> > >>> パッチを取り込んで ver. 1.8 をリリースしました:
> > >>> https://www.gfd-dennou.org/library/ruby/products/numru-units/
> > >>>
> > >>> パッチを見てわかったのですが,本質的な問題は racc のルールの
> > >>> とある一行なんですですね。
> > >>>
> > >>> 参考まで,パッチでは units.racc が変更されていましたが,
> > >>> units.racc は make で生成されるので,オリジナルファイル(rules.rb)
> > >>> を変更しました。units.rb も,racc コマンドで生成される
> > >>> ものですのでパッチ不要でした。保守的に ruby 1.8 を使って
> > >>> 生成し,ruby 2.1 でもテストが通るのを確認しました。ruby 2.2
> > >>> でも大丈夫でしょうか。> 神代さま。
> > >>>
> > >>> ruby 1.6 対応部分の削除はそれでいいです(取り込みました)。
> > >>> もともと ruby 本体の保守の関係上サポートしませんので。
> > >>>
> > >>>> 西澤さま:
> > >>>>
> > >>>> 神代です.
> > >>>>
> > >>>> 僕も最近困っていたので, さっそく試してみました.
> > >>>>
> > >>>> こちらでは
> > >>>>
> > >>>> ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
> > >>>> ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]
> > >>>>
> > >>>> でうまくいっています. ありがとうございます.
> > >>>>
> > >>>> 以下, たいしたことではないですが,
> > >>>>
> > >>>> numru-units-1.7.tar.gz にパッチをあててやってみました.
> > >>>> この場合,
> > >>>> % ruby install.rb
> > >>>> でインストールしますが, install.rb が古いため失敗してしまうので,
> > >>>> こいつでも ruby 1.6 を切り捨てる修正をしました.
> > >>>> あと, 修正版の src/units.rb が lib/numru/units.rb にコピーされ
> > >>>> てなかったので, そのままだと古いままになってしまうので,
> > >>>> % cp -p src/units.rb lib/numru/
> > >>>> をしました.
> > >>>> ここまでやった状態を numru-units-1.7-ruby2.2.0.patch としました
> > >>>> ので, ご利用ください.
> > >>>>
> > >>>> --
> > >>>> 神代 剛 (こうしろ つよし)
> > >>>> 気象研究所気候研究部第四研究室 支援研究員
> > >>>>
> > >>>>
> > >>>> At Tue, 06 Jan 2015 01:59:21 +0000,
> > >>>> Seiya Nishizawa wrote:
> > >>>>>
> > >>>>> 西澤です
> > >>>>>
> > >>>>> 周りに ruby 2.1 が増えてきて、numru-units が動かないのが不便なので、対
> > >>>>> 応してみました。
> > >>>>>
> > >>>>> 試した環境は
> > >>>>> ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux]
> > >>>>> ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
> > >>>>> です。
> > >>>>> ruby 1.6 は切り捨てることにしました
> > >>>>>
> > >>>>> racc 1.4.5 で作ったので、もしかすると環境によっては動かないところがあ
> > >>>>> るかもしれませんので、
> > >>>>> テストしていただければと思います。
> > >>>>>
> > >>>>> よろしくお願いします。
> > >>>>>
> > >>>>> 西澤誠也
> > >>>>>
> > >>>>> On Sat Dec 27 2014 at 16:44:06 Takeshi Horinouchi
> > >>>>> <horinout@xxxxxxxxxxxxxxxxx> wrote:
> > >>>>>
> > >>>>> 堀之内です。
> > >>>>>
> > >>>>> > 確か ruby 2.0 じゃないと numru-units が動かないと思います。
> > >>>>>
> > >>>>> Ruby 2.1 では numru-units が利用する racc の振る舞いが
> > >>>>> 変わっててうまく動きません
> > >>>>> ([dennou-ruby:003720] numru-units on ruby 2.1 のスレッド)。
> > >>>>> これは未究明です。2.2 で自然解決してればいいんですが,
> > >>>>> 試してません。
> > >>>>>
> > >>>>> # racc はよくわかってなくて私が調査しても難航しそうで...
> > >>>>>
> > >>>>> > 大塚です。
> > >>>>> >
> > >>>>> > 確か ruby 2.0 じゃないと numru-units が動かないと思います。
> > >>>>> > この問題、解決しましたっけ?
> > >>>>>
> > >>>>>
> > >>>>
> > >>>
> > >>> 堀之内 武
> > >>> 北海道大学 地球環境科学研究院 地球圏科学部門
> > >>> 〒060-0810 札幌市北区北10条西5丁目
> > >>>
> > >>>
> > >
> > > 堀之内 武
> > > 北海道大学 地球環境科学研究院 地球圏科学部門
> > > 〒060-0810 札幌市北区北10条西5丁目
> > >
> > >
> >
> >
> > --
> > 大塚成徳 (Shigenori OTSUKA)
> > 独立行政法人理化学研究所 計算科学研究機構(AICS)
> > データ同化研究チーム
> > 〒650-0047兵庫県神戸市中央区港島南町7-1-26
> > 電話078-940-5814
> > shigenori.otsuka@xxxxxxxx
>
> 堀之内 武
> 北海道大学 地球環境科学研究院 地球圏科学部門
> 〒060-0810 札幌市北区北10条西5丁目
>
堀之内 武
北海道大学 地球環境科学研究院 地球圏科学部門
〒060-0810 札幌市北区北10条西5丁目