我正在尝试为 ruby 创建一个GR 框架绑定。我用小提琴。Fiddle 是使用 ruby 转换外部函数接口 (FFI) 的默认扩展。它在 Linux 和 Mac 上运行良好。但在 Windows 上,我收到以下错误。
代码hoge.rb
require 'fiddle/import'
module M
extend extend Fiddle::Importer
dlload File.expand_path('gr/bin/libGR.dll').gsub("/", "\\")
end
Run Code Online (Sandbox Code Playgroud)
错误
Traceback (most recent call last):
7: from hoge.rb:3:in `<main>'
6: from hoge.rb:5:in `<module:M>'
5: from C:/Ruby26-x64/lib/ruby/2.6.0/fiddle/import.rb:77:in `dlload'
4: from C:/Ruby26-x64/lib/ruby/2.6.0/fiddle/import.rb:77:in `collect'
3: from C:/Ruby26-x64/lib/ruby/2.6.0/fiddle/import.rb:87:in `block in dlload'
2: from C:/Ruby26-x64/lib/ruby/2.6.0/fiddle.rb:47:in `dlopen'
1: from C:/Ruby26-x64/lib/ruby/2.6.0/fiddle.rb:47:in `new'
C:/Ruby26-x64/lib/ruby/2.6.0/fiddle.rb:47:in `initialize': No such file or directory (Fiddle::DLError)
5: from hoge.rb:3:in `<main>'
4: from hoge.rb:5:in …Run Code Online (Sandbox Code Playgroud) 我想从 rubygem.org 完全删除我的 gem。我浏览了仪表板,但没有删除按钮。我怎样才能删除它?
我想在Crystal lang而不是1d数组中只转换2d数组.所以我在下面写下switch语句.
a = [[1,2,3],[11,12,13]]
b = [1,2,3]
class Array
def meow
case self.first
when Array
puts self.transpose
else
puts "OK"
end
end
end
a.meow
b.meow
Run Code Online (Sandbox Code Playgroud)
此代码不起作用.我该如何解决?这是错误消息.
Error in foo.cr:16: instantiating 'Array(Int32)#meow()'
b.meow
^~~~
in foo.cr:8: instantiating 'Array(Int32)#transpose()'
puts self.transpose
^~~~~~~~~
in /usr/share/crystal/src/array.cr:1642: undefined method 'first' for Int32
return Array(Array(typeof(first.first))).new if empty?
^~~~~
Run Code Online (Sandbox Code Playgroud)