小编Sta*_*erg的帖子

有哪些JVM组装商?

我想要一个简单明了的JVM汇编程序.它应该采用以Java虚拟机规范中描述的助记符语言编写的文本文件,并生成类文件,即字节码.

要明确:我不想要一个可以从API调用生成类文件的库.

JVM汇编程序的当前状态是什么?它们是否支持invokedynamic(对我来说不是强制性的,但是有优势)?我可以使用哪些操作系统?他们各自的利弊是什么?

java assembly jvm

15
推荐指数
2
解决办法
5795
查看次数

为什么=〜运算符有时只会产生副作用?

我注意到Ruby/Oniguruma的副作用只出现在4个看似相同的陈述中的1个中.为什么变量day定义在009,但不在003,005007

irb(main):001:0> r = /(?<day>\d\d):(?<mon>\d\d)/
=> /(?<day>\d\d):(?<mon>\d\d)/

irb(main):002:0> r =~ "24:12"
=> 0
irb(main):003:0> day
NameError: undefined local variable or method `day' 

irb(main):004:0> "24:12" =~ r
=> 0
irb(main):005:0> day
NameError: undefined local variable or method `day'


irb(main):006:0> "24:12" =~ /(?<day>\d\d):(?<mon>\d\d)/
=> 0
irb(main):007:0> day
NameError: undefined local variable or method `day'


irb(main):008:0> /(?<day>\d\d):(?<mon>\d\d)/ =~ "24:12"
=> 0
irb(main):009:0> day
=> "24"
Run Code Online (Sandbox Code Playgroud)

nb#1:在所有四种情况下,它都是相同的正则表达式和相同的字符串.

nb#2:我已经验证了MS Windows和Ubuntu Linux中的行为.

ruby regex irb pattern-matching oniguruma

12
推荐指数
1
解决办法
353
查看次数

拥有通用量词{m,n} +没有在Ruby 1.9.3中实现?

占有量词是贪婪的,拒绝回溯.正则表达式/.{1,3}+b/应该是:匹配除换行符之外的任何字符,尽可能多地匹配1到3次,并且不要回溯.然后匹配角色b.

在这个例子中:

'ab'.sub /.{1,3}+b/, 'c'    #=> "c"
Run Code Online (Sandbox Code Playgroud)

与事实相反,不应该进行替换.

这两个例子的结果有所不同:

'aab'.sub /.{0,1}+b/, 'c'   #=> "c"
'aab'.sub /.?+b/, 'c'       #=> "ac"
Run Code Online (Sandbox Code Playgroud)

与Scala相比,他们给出了相同的答案:

scala> ".{0,1}+b".r.replaceAllIn("aab", "c")
res1: String = ac
scala> ".?+b".r.replaceAllIn("aab", "c")
res2: String = ac
Run Code Online (Sandbox Code Playgroud)

这是一个Ruby错误,还是可以激发这种行为?也许,Oniguruma出于某种原因实现占有与所有量词?,*,+除了一般的量词{m,n}?如果是这样的话,为什么?

ruby regex oniguruma

7
推荐指数
2
解决办法
261
查看次数

标签 统计

oniguruma ×2

regex ×2

ruby ×2

assembly ×1

irb ×1

java ×1

jvm ×1

pattern-matching ×1