[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:003900] Re: Fwd: Gemで入れたGPhysのgpコマンドでヘルプが出ない



樫村さま

竹広です. この件すっかり頭から落ちてました.
先の wsn デフォルト変更と同時に対処しようと
思います. よろしくお願いします.

                    Takepiro(竹広真一)@数理解析研究所. 京都大学
                      	E-mail:takepiro@xxxxxxxxxxxxxx
			       takepiro@xxxxxxxxxxxxxxxxxxxx


At Wed, 2 Sep 2015 18:19:11 +0900,
Hiroki Kashimura wrote:
> 
> 竹広様:
> 
> 樫村です。
> 
> たぶん埋もれちゃったのではないかと思いますので、
> (gpviewの話題が挙がった)ついでに下記を再送しておきます。
> 
> 
> ――――――――――――――――――――――――――
> ――――――――――――――――――――――――――
> 2015/03/20 12:46、Hiroki Kashimura <hiroki@xxxxxxxxxxxxxx> のメール:
> 
> 竹広様:
> 
> 樫村です。
> 
> gem で入れた gphys のgpコマンド類ですが、gpview --help などと
> しても、ヘルプが表示されません。
> 
> gemで入れると、bin以下のたとえばgpviewは以下のようなもので置きかわるようです。
> ――――――――――――――
> #!/opt/local/bin/ruby2.2
> #
> # This file was generated by RubyGems.
> #
> # The application 'gphys' is installed as part of a gem, and
> # this file is here to facilitate running it.
> #
> 
> require 'rubygems'
> 
> version = ">= 0"
> 
> if ARGV.first
>  str = ARGV.first
>  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
>  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
>    version = $1
>    ARGV.shift
>  end
> end
> 
> gem 'gphys', version
> load Gem.bin_path('gphys', 'gpview', version)
> ―――――――――――――――
> 最後の文で gpview本体を呼んでいるようです。
> なので、gpcommon.rb の def help 冒頭
> 
>   file = File.open($0)
> 
> では上記の置きかわったファイルを読んでしまっているのが原因じゃないかと思います。
> file = File.open($0) の部分を以下のようにすることで、gemで入れたものにも対応できました。
> 
>  begin 
>    file = File.open(Gem.bin_path("gphys",File.basename($0), NumRu::GPhys::VERSION))
>  rescue
>    file = File.open($0)
>  end
> 
> Gem.bin_pathの第3引数は省略でもいいかもしれません。
> rescueでざっくりやってるので美しくないかもしれません。
> 適当に修正していただけたら幸いです。
> ――――――――――――――――――――――――――
> ――――――――――――――――――――――――――
> 
> 樫村(山本)博基
> hiroki@xxxxxxxxxxxxxx
>