标签: jruby

Jruby - Javafx:如何向按钮添加图标?

我正在努力使用 jrubyfx 加载 Javafx 和 Jruby 的图标(png 格式),我没有找到任何示例或文档,所以我尝试了:

1)

button_login = find('#button_login') # See ComplexControl.fxml
button_login.text = "#{t.login.form.button_login}"
button_login.graphic image("src/code/media/logo.png")
Run Code Online (Sandbox Code Playgroud)

我得到:未能将 javafx.scene.image.Image 强制转换为 javafx.scene.Node>

2)

button_login = find('#button_login') # See ComplexControl.fxml
button_login.text = "#{t.login.form.button_login}"
button_login.graphic = "src/code/media/logo.png"
Run Code Online (Sandbox Code Playgroud)

我得到: TypeError: 无法将类 org.jruby.RubyString 的实例转换为类 javafx.scene.Node>

所以我对正确的语法感到困惑:(

感谢您的帮助 :)

jruby 9.1.15.0 (2.3.3) 2017-12-07 929fde8 Java HotSpot(TM) 64 位服务器 VM 25.161-b12 位于 1.8.0_161-b12 +jit [linux-x86_64] - Ubuntu Xenial

ruby java javafx jruby jrubyfx

5
推荐指数
1
解决办法
2万
查看次数

为什么App Engine上的JRuby应用程序需要很长时间才能启动(与Python应用程序相比)?

我正在考虑在App Engine上使用JRuby,但是听说App Engine上的Juby应用程序与Python应用程序相比具有较长的启动延迟.为什么是这样?

是因为JRuby jar文件太大了,冷启动要求在应用程序开始服务之前将它们加载到内存中?这是我的猜测,但我不确定这是否是一个精确的技术解释.如果是这样,为什么Python会有所不同?

ruby python java google-app-engine jruby

4
推荐指数
1
解决办法
309
查看次数

除了性能问题,为什么Java仍然选择Groovy/JRuby等?

[这是关于最新技术的经验问题:我不是在问Java是否比在JVM中运行的动态语言更酷或更酷.

除了性能是主要决策因素的情况之外,公司/开发人员是否仍然愿意选择Java而不是Groovy,JRuby或Jython?

编辑:如果答案是"是",为什么?

个人注意:我要问的原因是,虽然我在Ruby中做了一些我的专业工作(现在不是JRuby),但在我的个人项目中,我使用的是Java.虽然我在Groovy中编写了非平凡的应用程序,但更喜欢Java,但我想知道我是否应该克服它并在Groovy中做所有事情.我喜欢Java,因为我觉得静态打字可以节省我的时间并帮助重构.(不,我不熟悉Scala.)但是,我觉得这个非常经验的,关于主题的编程问题可能会为我的决定提供信息.

java groovy dynamic-languages jruby

4
推荐指数
3
解决办法
1381
查看次数

如果没有明确定义,变量"p"在ruby中从哪里得到它的值?

问题:从哪里p获取它的价值,为什么会发生?

考虑这个irb会话:

me@somewhere:~$ irb
irb(main):001:0> a
NameError: undefined local variable or method `a' for main:Object
    from (irb):1
irb(main):002:0> foo
NameError: undefined local variable or method `foo' for main:Object
    from (irb):2
irb(main):003:0> p
=> nil
irb(main):004:0> p.class
=> NilClass
irb(main):005:0>
Run Code Online (Sandbox Code Playgroud)

我从未定义过p- 为什么它没有价值?既a没有foo被认出也没有被认出那么特别的是p什么?我也没有找到任何列出的内容Kernel#p

上下文:我正在阅读所谓的"28字节的红宝石快乐"并假设p是一个变量,如:def p.method_missing *_......

(别担心:我不打算在nil上实际定义method_missing ...只研究一些ruby代码......)

ruby jruby irb

4
推荐指数
1
解决办法
469
查看次数

JVM和JRuby等JVM实现如何击败原生同行?

我在这里观看这个视频,Robert Nicholson讨论了P8,这是JVM上的PHP实现.在某些时候,他提到他们的目标是在未来的某个时候超越原生PHP的性能.

他提到了JRuby和Jython,它起初比他们的同类人慢,但最终超过了他们.Quercus是JVM的另一个PHP解释器,声称比mod_php 快4倍,值得注意.

这是否意味着JVM比C慢的一般想法是错误的,或者原始C实现中是否存在缺陷?

performance jvm jython jruby quercus

4
推荐指数
1
解决办法
1156
查看次数

Ruby - 将字符串的第一个字母转换为小写的简单方法

有没有一种简单的方法将字符串的第一个字母转换为小写?String#capitalize修改整个字符串.当然,我可以删除第一个字母,将其缩写,然后将其添加到开头.但它似乎有点傻,有更简单的方法吗?

注意:我将只处理英文单词.

编辑:str[0] = str[0].downcase在JRuby 1.6中不起作用:(

编辑2:最后我决定这个:

word = "ABC"
first_capital_letter = word.match(/^([A-Z])/).to_s
 if(first_capital_letter)
   word = word.sub(first_capital_letter, first_capital_letter.downcase)
   puts word
end
Run Code Online (Sandbox Code Playgroud)

ruby string jruby

4
推荐指数
3
解决办法
3368
查看次数

如何根据当前的RVM在Gemfile中选择特定的gem?

如何根据当前使用的Ruby VM有条件地选择使用哪个gem?

理想情况下,我想要像:

if [using jruby]
    gem 'jruby-openssl'
Run Code Online (Sandbox Code Playgroud)

如果使用的RVM是JRuby,这只需要jruby-openssl.

jruby rvm

4
推荐指数
1
解决办法
1290
查看次数

使用JRuby在Windows上编写Unix换行符

我正在编写一个Ruby脚本来生成Unix shell脚本,但是我无法让JRuby在Windows上编写Unix换行符.

我写了一个test.rb包含以下内容的文件:

File.open("test.sh", 'w') do |f|
  f.write("#!/bin/sh\n")
  f.write("echo hello\n")
end
Run Code Online (Sandbox Code Playgroud)

当我使用命令执行它时,java -jar jruby-complete-1.6.5.jar test.rb生成的文件包含\r\n换行符而不是\n换行符.

如何强制JRuby用Unix换行编写文本文件?

ruby unix windows newline jruby

4
推荐指数
1
解决办法
2281
查看次数

NoMethodError:在tomcat上部署rails app时的relative_url_root

我尝试按照本教程在tomcat上部署我的jruby应用程序,但它始终以:

--- Backtrace
    NoMethodError: undefined method `relative_url_root=' for ActionController::Base:Class
          send at org/jruby/RubyKernel.java:2097
Run Code Online (Sandbox Code Playgroud)

尝试使用tomcat 6和7.

我的jruby版本是1.6.5,我使用Rails 3.1(太新鲜了?)

谢谢你的帮助

deployment tomcat ruby-on-rails jruby

4
推荐指数
1
解决办法
618
查看次数

计算HBase表中列族中的记录数

我正在寻找一个HBase shell命令,它将计算指定列族中的记录数.我知道我可以跑:

echo "scan 'table_name'" | hbase shell | grep column_family_name | wc -l  
Run Code Online (Sandbox Code Playgroud)

但是这将比标准计数命令运行得慢得多:

count 'table_name' , CACHE => 50000 (because the use of the CACHE=>50000)  
Run Code Online (Sandbox Code Playgroud)

更糟糕的是 - 它没有返回实际的记录数,而是返回指定列族中的单元格总数(如果我没有弄错?).我需要这样的东西:

count 'table_name' , CACHE => 50000 , {COLUMNS => 'column_family_name'}
Run Code Online (Sandbox Code Playgroud)


迈克尔,提前谢谢

database hbase jruby bigdata nosql

4
推荐指数
1
解决办法
3807
查看次数