-1

Linguist gem を使用しようとしています: https://github.com/github/linguist

私のコードは次のとおりです。

require 'linguist'

filePath = ARGV
langDetails = Linguist::FileBlob.new(filePath)
puts langDetails

その出力:#<Linguist::FileBlob:0x007faf93b17200>

しかし、私がするときputs langDetails.language、私は得る

/Users/myuser/.rvm/gems/ruby-1.9.3-p545@linguist/gems/github-linguist-2.10.15/lib/linguist/file_blob.rb:39:in `stat': can't convert Array into String (TypeError)
  from /Users/myuser/.rvm/gems/ruby-1.9.3-p545@linguist/gems/github-linguist-2.10.15/lib/linguist/file_blob.rb:39:in `mode'
  from /Users/myuser/.rvm/gems/ruby-1.9.3-p545@linguist/gems/github-linguist-2.10.15/lib/linguist/blob_helper.rb:294:in `language'
  from ./linguist.rb:9:in `<main>'

何が間違っているのか完全にはわかりません。理想的には、データを JSON オブジェクトとして戻す必要があります。どうすればこれを達成できますか?

4

1 に答える 1

2

ソースを見てください。FileBlog は言ってFile.stat(@path).mode.to_s(8)@pathますが配列です。filePathパス文字列である必要がありますが、ARGV は配列です。

おそらくあなたは意味しましたARGV[0]か?

于 2014-05-12T01:30:54.287 に答える