主要Ruby VM有哪些优点/缺点(比如功能,兼容性,性能和怪癖?)我知道还有一些额外的功能,比如能够通过JRuby使用Java接口.这些也有助于注意.在这一点上,任何VM都有明显的优势吗?在什么情况下?
我有一个用ruby编写的应用程序(在JRuby VM中运行).在分析它时,我意识到它花了很多时间(实际上几乎全部)将一些哈希转换成哈希JSON.
这些哈希包含符号键,其他类似哈希值,数组,字符串和数字.
是否有适合此类输入的序列化方法,并且通常比JSON运行得更快?如果它也具有Java或JRuby兼容的gem,那将是更好的选择.
我目前正在使用jruby-jsongem,这是JSONJRuby中最快的实现(据我所知),因此移动很可能是一个不同的序列化方法,而不仅仅是一个不同的库.
任何帮助表示赞赏!谢谢.
有谁知道如何使用JRuby和Compass模块在build.xml中编译SASS(*.scss)文件?
我可以使用sass独立安装中的Sass :: Exec模块以下列方式从*.scss编译为*.css:
<!-- Compile SCSS files copied to target folder -->
<property name="stylesheetFolder" location="myproject/stylesheet"/>
<property name="inputFiles" value="${stylesheetFolder}/[^_]*.scss" />
<echo message="Compiling SCSS files from ${stylesheetFolder}..." />
<script language="ruby" classpath="${env.EP_LIB}/jruby/complete/${jruby-complete.build.jar}">
<![CDATA[
require $project.getProperty('env.EP_LIB') + '/sass/sass-3.2.9/lib/sass'
require 'sass/exec'
files = Dir.glob($project.getProperty('inputFiles'))
files.each do |file|
opts = Sass::Exec::Sass.new(["--style", "compressed", "--load-path", File.dirname(file), file, File.join(File.dirname(file), File.basename(file, ".*") + ".css")])
opts.parse
end
]]>
</script>
<echo message="Done compiling SCSS source files." />
Run Code Online (Sandbox Code Playgroud)
但是,这并没有给我Compass框架的强大功能.我下载了指南针宝石作为一个独立的,我想使用其中一个Compass Ruby模块用以下内容替换Ant build.xml中的上述代码:
<script language="ruby" classpath="${env.EP_LIB}/jruby/complete/${jruby-complete.build.jar}">
<![CDATA[
require $project.getProperty('env.EP_LIB') + '/compass/compass-0.12.2/lib/compass'
require 'compass/exec'
files …Run Code Online (Sandbox Code Playgroud) 我正在通过反射从 JRuby 调用 Java 类中的方法
fact = Factory.factory('aString')
Run Code Online (Sandbox Code Playgroud)
在java中调用这个方法
public static Service factory(String url) throws IllegalArgumentException { return new _Service(url); };
Run Code Online (Sandbox Code Playgroud)
我得到
Java::JavaLang::NoClassDefFoundError: scala/collection/Seq
Run Code Online (Sandbox Code Playgroud) 我看过这个帖子,但我的问题可能更基本:
鉴于该线程 [1] 中接受的答案的响应是给我的,"/Users/username/.rvm/rubies/ruby-2.3.0/bin/ruby"我怎么知道那是 MRI、JRuby 等?如果是其他主要口译员,会是什么样子?
[1] 为了节省几秒钟, RbConfig.ruby
我需要查看给定的进程ID是否正在运行,它必须在Java或JRuby(最好是Ruby解决方案)中工作.它可以依赖于Linux系统(特别是Debian和/或Ubuntu).
我已经有了我正在寻找的PID,只需要查看它是否正在运行.
更新:
感谢所有人的回复!我很欣赏它,但它不是我要找的东西...我希望在标准的Ruby库(或Java,但最好是Ruby)中有一些东西......如果没有这样的库调用存在,我可能会坚持我已经拥有的procfs解决方案.
我正在开发一个涉及一些脚本和数据存储的项目.我可以使用的数据库是MS Sql Server,它位于Windows平台上.
尽管如此,我还是希望利用Ruby编写脚本,特别是JRuby.这有几个原因
使用Matz ruby时,我可以使用'win32ole'轻松实现数据库连接.但是,由于显而易见的原因,这在JRuby中不起作用.从JRuby/Java连接到MS Sql以执行简单的Select和Update语句的最简单方法是什么?
提前致谢.
如何在Google AppEngine上的Jruby上的DataMapper中使用list/array作为属性?
我试图通过最新版本的Jruby(1.5.1),Ruby 1.8.7和Java 1.6.0_06来执行一些自定义Java代码.我已经尝试了类文件并将其放在jar方法中.当我尝试
require 'java'
require 'path_to_class/myClass
Run Code Online (Sandbox Code Playgroud)
要么
require 'java'
require 'path_to_jar/a_jar.jar
Run Code Online (Sandbox Code Playgroud)
尝试这两种方法,我无法访问myClass或jar文件中的任何其他文件.网上导入java类的其他变体导致以下错误:
`NameError: cannot load Java class com.package.myClass from C:/jruby-1.5.1/lib/ruby/site_ruby/shared/builtin/javasupport/java.rb:51:in method_missing`
Run Code Online (Sandbox Code Playgroud)
我还检查了StackOverFlow上的解决方案,我仍然得到了相同的结果.我想知道这可能是一个更深层次的问题.
jruby ×10
ruby ×7
java ×3
rubinius ×2
build.xml ×1
compass-sass ×1
datamapper ×1
ironruby ×1
jar ×1
jrubyonrails ×1
json ×1
linux ×1
mri ×1
pid ×1
reflection ×1
sql-server ×1