[#43857] Hashへの生成順は保障されないのか? — Hiroshi Kasamatsu <qqmn89yb9@...>

こんにちは、笠松と申します。

88 messages 2007/08/18
[#43858] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/18

Hiroshi Kasamatsu wrote:

[#43862] Re: Hashへの生成順は保障されないのか? — Hiroshi Kasamatsu <qqmn89yb9@...> 2007/08/19

皆さん、早速のレスありがとうございます。

[#43863] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/19

Hiroshi Kasamatsu wrote:

[#43870] Re: Hashへの生成順は保障されないのか? — Hiroshi Kasamatsu <qqmn89yb9@...> 2007/08/20

Urabeさん、笠松です。レスありがとうございます。

[#43872] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/20

Hiroshi Kasamatsu wrote:

[#43873] Re: Hashへの生成順は保障されないのか? — cuzic <cuzic@...> 2007/08/20

cuzic です。

[#43874] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/20

cuzic wrote:

[#43875] Re: Hashへの生成順は保障されないのか? — Tanaka Akira <akr@...> 2007/08/20

In article <46C9E7BB.4060100@ruby-lang.org>,

[#43876] Re: Hashへの生成順は保障されないのか? — Urabe Shyouhei <shyouhei@...> 2007/08/20

おお、田中さんを満足させる説明ってのは結構ハードル高そうだな。

[#43878] Re: Hashへの生成順は保障されないのか? — しん <dezawa@...> 2007/08/20

# 出遅れたので、レスすべきメールが判らなくなってしまったので、手近なのに

[#43879] Re: Hashへの生成順は保障されないのか? — Yukihiro Matsumoto <matz@...> 2007/08/20

まつもと ゆきひろです

[#43887] Re: Hashへの生成順は保障されないのか? — Nobuyoshi Nakada <nobu@...> 2007/08/21

なかだです。

[#43891] Re: Hashへの生成順は保障されないのか? — SASADA Koichi <ko1@...> 2007/08/21

 ささだです。

[#43892] Re: Hashへの生成順は保障されないのか? — Yukihiro Matsumoto <matz@...> 2007/08/21

まつもと ゆきひろです

[#43893] Re: Hashへの生成順は保障されないのか? — Nobuyoshi Nakada <nobu@...> 2007/08/21

なかだです。

[#43899] Re: Hashへの生成順は保障されないのか? — "Akinori MUSHA" <knu@...> 2007/08/21

At Tue, 21 Aug 2007 13:59:43 +0900,

[#43900] Re: Hashへの生成順は保障されないのか? — SASADA Koichi <ko1@...> 2007/08/21

 ささだです。

[#43906] Re: Hashへの生成順は保障されないのか? — "Akinori MUSHA" <knu@...> 2007/08/21

At Tue, 21 Aug 2007 19:29:11 +0900,

[#43921] Re: Hashへの生成順は保障されないのか? — Tanaka Akira <akr@...> 2007/08/22

In article <86sl6dgikh.knu@iDaemons.org>,

[#43926] Re: Hashへの生成順は保障されないのか? — Tanaka Akira <akr@...> 2007/08/23

In article <87zm0kaz60.fsf@fsij.org>,

[#43927] Re: Hashへの生成順は保障されないのか? — Yugui <yugui@...> 2007/08/24

Yuguiといいます。

[#43930] Re: Hashへの生成順は保障されないのか? — Yukihiro Matsumoto <matz@...> 2007/08/24

まつもと ゆきひろです

[ruby-list:43923] [ANN] isi-1.1.3 released!

From: NISHIMATSU Takeshi <t_nissie@...>
Date: 2007-08-22 21:48:47 UTC
List: ruby-list #43923
西松と申します。

isi-1.1.3をリリースしました。isiはISI社の巨大な学術論文データベー
スのWeb of Scienceのタグのついた出力ファイルをBibTeX形式に変換す
るRubyスクリプトです。ライブラリとしても使えます。平生LaTeXで学術
論文を書いていて、書誌情報をBibTeXで管理している人には便利なスクリ
プトかもしれません。以前からisi.rbやisi2bibtex.rbとして公開してい
たものです。

今回、小さなバグの修正といくつかのタグへの対応をしました。

プロジェクトホームページは http://isi-rb.rubyforge.org/ です。
http://rubyforge.org/projects/isi-rb からダウンロードできます。
また、gem化してrubyforge.orgに置かせてもらっているので、RubyGems
ユーザの方は「gem install isi」だけで簡単にインストールできます。


蛇足ながらRubyForgeのsubversionを使い始めたときのメモを添付します。
ご参考まで。subversionの使い方でアドバイスをいただけたら幸いです。
==========================================================================
= 自分のプログラムisiをRubyForgeのsubversionのレポジトリ(repository)に登録する
== 現状
http://d.hatena.ne.jp/secondlife/20061106/1162785661 を参考に、RubyForgeの
アカウントは持っていて、プロジェクトのunix名isi-rbをもらってisiを公開していた。

自分のマシンの/home/t-nissie/ruby/isi/isi/以下で開発を行っていた。リリースは
  $ rake rdoc     # rake package だけでうまくいかない場合に必要なことがある。
  $ rake package
で、1つ上のディレクトリ/home/t-nissie/ruby/isi/に
  isi-X.Y.Z/
  isi-X.Y.Z.gem
  isi-X.Y.Z.rb*
  isi-X.Y.Z.tgz
  isi-X.Y.Z.zip
のディレクトリとファイルができるのでそれをRubyForgeでリリースしていた。
ここでX.Y.Zはlib/isi.rbでに書かれているISI_RB_VERSION。


== 準備と練習
=== ssh公開鍵の登録とssh-agentの起動
コミットなどのときに毎度毎度RubyForgeのパスワードの入力を促されて鬱陶しい。

まず、http://rubyforge.org/account/editsshkeys.php に行って公開鍵の
~/.ssh/identity.pub を登録しておく。~/.ssh/identity.pub を今まで使った
ことがなくて、見当たらないならssh-keygen(1)で作ることができる。

次に、~/.ssh/config に
  Host rubyforge.org
          Protocol 1
と書いておく。

最後に、作業をするshellでssh-agentを起動する:
  $ ssh-agent
  $ ssh-add ~/.ssh/identity
こうすれば、ssh-addのときにsshのパスフレーズを1回だけ聞かれるだけで、
以後そのセッションではRubyForgeのパスワードの入力が必要なくなる。

=== EDITOR環境変数の設定
ログを書くときに使うエディタを設定しておくと吉。
  $ export EDITOR=emacsclient
コミットするときに --message (-m) を使えばエディタは起動されないけど。

=== 練習
ローカルにレポジトリを作って練習するする:
  $ mkdir -p /home/t-nissie/tmp/repos
  $ svnadmin create /home/t-nissie/tmp/repos
以下のsvn+ssh://t-nissie@rubyforge.org/var/svn/isi-rbのかわりに
file:///home/t-nissie/tmp/reposを使えばよい。練習になるし、subversion
への理解が深まる。たとえば:
  $ svn mkdir file:///home/t-nissie/tmp/repos/isi -m 'subproject dir'


== HELP!
subversionのsvnのコマンドの使い方を知るには:
  $ svn help [コマンド]
たとえば:
  $ svn help commit


== ディレクトリの作成とインポート
それでは本番。RubyForgeにもらったプロジェクト名はisi-rb。isiをサブプロ
ジェクトとする。他のサブプロジェクトを作る予定はいまのところ無いが、念の
ためサブプロジェクトとする。
  $ svn mkdir svn+ssh://t-nissie@rubyforge.org/var/svn/isi-rb/isi          -m 'subproject dir'
  $ svn mkdir svn+ssh://t-nissie@rubyforge.org/var/svn/isi-rb/isi/trunk    -m 'subproject trunk'
  $ svn mkdir svn+ssh://t-nissie@rubyforge.org/var/svn/isi-rb/isi/tags     -m 'subproject tags'
  $ svn mkdir svn+ssh://t-nissie@rubyforge.org/var/svn/isi-rb/isi/branches -m 'subproject branches'
  $ cd /home/t-nissie/ruby/isi/isi/
  $ svn import svn+ssh://t-nissie@rubyforge.org/var/svn/isi-rb/isi/trunk -m 'Initial import'
これでいままで書いていたファイルがtrunk以下に置かれる。以後、チェックア
ウトで自分のマシンにできる作業コピーは一時的かつ従属的なもになる。


== チェックアウト方法
レポジトリのファイルをごそっと取ってくることをチェックアウトというらしい。
  $ svn checkout svn+ssh://t-nissie@rubyforge.org/var/svn/isi-rb/isi
チェックアウトでsvn+sshをつかえば、コミットのときに同じプロトコルが使われるんじゃなかろうか。

匿名でのチェックアウトは
  $ svn checkout svn://rubyforge.org/var/svn/isi-rb/isi
もちろん、匿名でコミットはできない。


== コミットの方法
先のチェックアウトによってできた作業コピーに移動:
  $ cd isi/trunk
例えばREADMEを編集してdiffをとってみる:
  $ emacs README
  $ svn diff
さっそくコミットする:
  $ svn commit -m 'README: Add hoge.'
コミットしただけでは作業コピーは最新の状態にならないことを確認:
  $ svn log
アップデートして作業コピーを最新の状態にする:
  $ svn update
  $ svn log
コミッタが自分しかいないのでアップデートしてもほとんど何も起きないが、
先にコミットしたときのログメッセージが表示されるようになる。


== 新しいファイルの追加
たぶん
  $ emacs bin/isi2tohoku
  $ svn add bin/isi2tohoku
  $ svn commit -m 'bin/isi2tohoku: New file.'
  $ svn update
たぶん。


== タグ(tag)の打ち方
たぶんtrunk/から
 $ rake clean
 $ cd ..
 $ svn copy trunk tags/isi-X.Y.Z
たぶん。
==========================================================================

-- 西松毅



In This Thread

Prev Next