哪种 ruby 类型映射到 jruby 中的 java.io.File?
我尝试调用 FSDirectory.open
FSDirectory.open(File.open('index', 'w+'))
NameError: no method 'open' for arguments (org.jruby.RubyFile) on Java::OrgApacheLuceneStore::FSDirectory
String
给出了类似的错误。
I try to call FSDirectory.open
FSDirectory.open(File.open('index', 'w+'))
NameError: no method 'open' for arguments (org.jruby.RubyFile) on Java::OrgApacheLuceneStore::FSDirectory
String
gives a similar error.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
FSDirectory.open 采用 java.io.File,它在 Ruby 中没有真正的等效项。 Ruby 的“File”代表一个打开的文件,而 java.io.File 只是代表一个路径。在这种情况下,您应该只使用 java.io.File。
FSDirectory.open takes a java.io.File, which has no real equivalent in Ruby. Ruby's "File" represents an open file, while java.io.File simply represents a path. You should just use java.io.File in this case.