トップページ > プログラム > 2015年02月21日 > T2DgAzdT

書き込み順位&時間帯一覧

22 位/263 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000011210005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Ruby 初心者スレッド Part 56©2ch.net

書き込みレス一覧

Ruby 初心者スレッド Part 56©2ch.net
786 :デフォルトの名無しさん[sage]:2015/02/21(土) 17:05:47.11 ID:T2DgAzdT
MacのRubyでVPKファイルが作りたいのですが、やり方が全く分かりません…
Ruby以前にコマンドやそういったものに関しても初心者で、このVpkツールをインストールするだけで一週間ほどかかりました…
VPKファイルフォーマットのパーサー
https://github.com/kimoto/vpk
本来Linux用に作られたものらしいのですが、Macでも使用できるとツールの作者が書いていました
まずVPKファイルの生成よりも展開のほうが簡単かと思い、試しにデスクトップにVPKファイルを置いて
require 'vpk'を書いてエンターを押すと-bash: require: command not foundと出ました
これは別に入力する必要のないものなのでしょうか?
続いてVPK::VPKFile.new("./path_to.vpk").extract_to("./")をやってみましたが
MacName:Desktop UserName$ VPK::VPKFile.new("./Users/UserName/Desktop/test.vpk ")を実行すると
-bash: syntax error near unexpected token `" /Users/UserName/Desktop/test.vpk "'と出て駄目でした
ちなみに、このツールを作った人は日本人でどのように使うかも日本語で説明しています

VPKファイルの展開
require 'vpk'
vpk = VPK::VPKFile.new("./VPKのパス.vpk")
vpk.extract_to("./どこに解凍するか")

VPKファイルをディレクトリから生成する
require 'vpk'
vpk = VPK::VPKFile.archive("./ディレクトリのパス")
vpk.write_to("./生成後のVPKのパス")

ここまで書かれていてまだ理解できません…誰か馬鹿にも分かるように説明して下さるかたいらっしゃいませんか…
Ruby 初心者スレッド Part 56©2ch.net
789 :デフォルトの名無しさん[sage]:2015/02/21(土) 18:09:59.96 ID:T2DgAzdT
レスありがとうございます…!vpktest.rbを作成して保存後
$ cd Desktop
$ ruby vpktest.rb test.vpk
をするとvpktest.rb:1: syntax error, unexpected $undefined, expecting '}'
{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf400
^
と出ました
$ vpk -x ~/Desktop/test.vpkのほうは
/Library/Ruby/Gems/1.8/gems/vpk-0.0.2/lib/vpk.rb:162:in `extract_to': undefined method `write' for File:Class (NoMethodError)
from /Library/Ruby/Gems/1.8/gems/vpk-0.0.2/lib/vpk.rb:156:in `each'
from /Library/Ruby/Gems/1.8/gems/vpk-0.0.2/lib/vpk.rb:156:in `extract_to'
from /Library/Ruby/Gems/1.8/gems/vpk-0.0.2/bin/vpk:40
from /usr/bin/vpk:23:in `load'
from /usr/bin/vpk:23
これは成功してたのでしょうか…!? しかし展開後のフォルダのようなものはデスクトップに見当たりませんでした
787さんがおっしゃるように、最初に本を買って勉強しようと思います
それでも分からなかったらまた質問しにきます
ありがとうございました
Ruby 初心者スレッド Part 56©2ch.net
792 :デフォルトの名無しさん[sage]:2015/02/21(土) 19:21:53.03 ID:T2DgAzdT
>>790
ありがとうございます!
vpkツールのインストールはgemを使って入れました、後は教えてもらった通りにやってみましたが未知の世界すぎて…
MacName:~ UserName$ mkdir -p ~/tmp/vpktest
MacName:~ UserName$ cd ~tmp/vpktest
-bash: cd: ~tmp/vpktest: No such file or directory
MacName:~ UserName$ mkdir hoge
MacName:~ UserName$ touch hoge/testfile_{01..5}.txt
MacName:~ UserName$ ls hoge
testfile_1.txt testfile_2.txt testfile_3.txt testfile_4.txt testfile_5.txt
MacName:~UserName$ vpk -c hoge
compressed hoge -> hoge.vpk
/Library/Ruby/Gems/1.8/gems/vpk-0.0.2/lib/vpk.rb:178:in `archive': undefined method `binread' for File:Class (NoMethodError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/find.rb:39:in `find'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/find.rb:38:in `catch'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/find.rb:38:in `find'
from /Library/Ruby/Gems/1.8/gems/vpk-0.0.2/lib/vpk.rb:174:in `archive'
from /Library/Ruby/Gems/1.8/gems/vpk-0.0.2/bin/vpk:31
from /usr/bin/vpk:23:in `load'
from /usr/bin/vpk:23
Ruby 初心者スレッド Part 56©2ch.net
793 :デフォルトの名無しさん[sage]:2015/02/21(土) 19:27:58.61 ID:T2DgAzdT
規制で一つのレスに書ききれませんでした
MacName:~ UserName$ mkdir hoge_out && cd hoge_out
MacName:hoge_out UserName$ vpk -x ../hoge.vpk
not found specified file: ../hoge.vpk
MacName:hoge_out UserName$ vpk -x ../hoge.vpk
not found specified file: ../hoge.vpk
MacName:hoge_out UserName$ extracted!: ../hoge.vpk
-bash: : unrecognized history modifier
この文字列を保存しておいて、後でゆっくりどういうことか調べてみようと思います

>>791
ライブラリのリリース後にフォーマットが変更というのがよく分かりませんでした…すみません
このVPKツール自体2012年あたりに作られたものみたいなので、バージョンが古くて対応していないということもあるのかもしれません
ファイルはこれです
元々はvocalizev8.vpkというL4D2というゲーム用ファイルを、分かりやすいようにtest.vpkに名前だけ変えたものです
http://www1.axfc.net/u/3416997
Ruby 初心者スレッド Part 56©2ch.net
795 :デフォルトの名無しさん[sage]:2015/02/21(土) 20:08:10.84 ID:T2DgAzdT
>>794
わざわざ試してくれたんですか…ありがとうございます
Bashを先に学んだ方がいいのですね、頑張って勉強します

他の方も親切に教えてくださってありがとうございました


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。