Tag: ruby 1.9.3

懒惰,贪婪和占有欲量词之间有什么区别?

以下量词如何区别 – 关于场景,速度等。 ? , ?? 和?+全部匹配0或1次 。 * , *? and *? and * +`全部匹配0次或更多次 。 + , +? 和++都匹配1次或更多次 。 ? , *和+都很贪心 。 ?? , *? 和+? 不愿意/懒惰 。 ?+ , *+和++是占有欲的 。 任何人都可以帮我理解这些术语的含义吗? 为什么同一个工作的每个量词有三种变体?

Ruby on Linux PTY在没有EOF的情况下消失,引发了Errno :: EIO

我正在编写一些带有文件的代码,将该文件传递给多个二进制文件之一进行处理,并监视转换过程中的错误。 我已经在OSX上编写并测试了以下例程,但linux因为我不清楚的原因而失败。 #run the command, capture the output so it doesn’t display PTY.spawn(command) {|r,w,pid| until r.eof? do ##mark puts r.readline end } 运行的命令变化很大,##标记处的代码已简化为本地回显以尝试调试问题。 该命令执行,脚本在终端中打印预期的输出,然后抛出exception。 它在Debian系统上产生的错误是: Errno::EIO (Input/output error – /dev/pts/0): 我可以提出的所有命令字符串都会产生错误,当我运行没有本地echo块的代码时,它运行得很好: PTY.spawn(command) {|r,w,pid|} 在任何一种情况下,命令本身执行正常,但似乎debian linux没有发送eof up the pty。 PTY文档页面和ruby-doc上的IO似乎没有任何帮助。 有什么建议? 谢谢。 -vox-

pack()和unpack()如何在Ruby中工作

在Ruby中为什么我们需要数组Packing ? directive如何帮助做这样的包装? 我在我的控制台中运行了一些代码来查看Array包装中的指令是什么以及如何。但是输出与每个指令非常相似。 然后在核心他们如何不同? irb(main):003:0> n = [ 65, 66, 67 ] => [65, 66, 67] irb(main):004:0> n.pack(“ccc”) => “ABC” irb(main):005:0> n.pack(“C”) => “A” irb(main):006:0> n.pack(“CCC”) => “ABC” irb(main):007:0> n.pack(“qqq”) => “A\x00\x00\x00\x00\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00C\x00\x00\x00\x00\ x00\x00\x00” irb(main):008:0> n.pack(“QQQ”) => “A\x00\x00\x00\x00\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00C\x00\x00\x00\x00\ x00\x00\x00” irb(main):009:0> n.pack(“SSS”) => “A\x00B\x00C\x00” irb(main):010:0> n.pack(“sss”) => “A\x00B\x00C\x00” irb(main):011:0> 现在我可以从控制台看到n.pack(“SSS”) and n.pack(“sss”);n.pack(“ccc”) and n.pack(“CCC”); n.pack(“qqq”) and […]

的Watir。 滚动到页面的某个点

我试图在网站上自动进行在线调查,但每次都会出现此错误: Selenium::WebDriver::Error::UnknownError: unknown error: Element is not clickable at point (561, 864). Other element would receive the click: a id=”habla_oplink_a” class=”habla_oplink_a_normal hbl_pal_header_font_size hbl_pal_title_fg ” 我需要了解的是如何滚动到页面的某个点,以便我的脚本可以恢复填写页面上的调查。 这是我的代码,它设法填写调查的一部分,但是当它到达浏览器内部不在视图中的行(需要用户向下滚动到的行)时失败: buttons = browser.elements(:class => “assessment-choice”) buttons.each do |button| button.click end 我还希望能够更改我的代码,以便它只选择一个特定的选项,但页面上的HTML不是很友好。 这是我正在查看的网页: https : //staging2.clearfit.com/assessment/assessment/95867fb272df436352a0bd5fbdd 调查中其中一个选项的HTML: StronglyAgree

Anchor \ z和\ G如何在Ruby中运行?

我使用的是Ruby1.9.3。 我是这个平台的新手。 从文档中我刚刚得到了两个anchor ,它们是\z和\G 现在我和\z一起玩它看看它是如何工作的,因为定义( 字符串的 结束或结束 )让我感到困惑,我无法理解它的含义 – 由End 。 所以我尝试了下面的小片段。 但仍然无法抓住。 码 irb(main):011:0> str = “Hit him on the head me 2\n” + “Hit him on the head wit> => “Hit him on the head me 2\nHit him on the head with a 24\n” irb(main):012:0> str =~ /\d\z/ => nil irb(main):013:0> str = […]

Ruby Float#round方法表现不正确圆(2)

我了解到建议使用BigDecimal而不是Float ,但这个要么是bug,要么突出了Float的深奥本质。 似乎Float#round(2)有“1.015”,“1.025”和“1.035”的问题。 1.015.round(2) => 1.01 # => WRONG .. should be 1.02 1.025.round(2) => 1.02 # => WRONG .. should be 1.03 1.035.round(2) => 1.03 # => WRONG .. should be 1.04 1.045.round(2) => 1.05 # => CORRECT 1.016.round(2) => 1.02 # => CORRECT round(3)工作正常。 1.0015.round(3) => 1.002 # => CORRECT 1.235.round(2) => 1.24 […]

在OSX Mountain Lion上安装新的RVM Ruby 1.9.3时出现“错误的ecpoint”SSL错误

尝试使用Ruby 1.9.3和rest-client来生成https请求,例如: RestClient.get(‘https://google.com’) 总是给我一个SSL错误, OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server key exchange B: bad ecpoint 这是我无法弄清楚的。 bad ecpoint ? 我已经毫不费力地在另一台Mountain Lion机器上使用1.9.3和rest-client提出相同的请求。 关于这台机器的注意事项:MacBook pro带有新的Mountain Lion安装,我最初通过XCode命令行工具安装gcc-4.2时遇到了一些麻烦,但最终通过自制程序/欺骗获得了gcc-4.2。 从那时起,我已经卸载并重新安装了RVM和1.9.3。

将UTF-8设置为Ruby 1.9.3的默认值

我在Rails 4和Ruby 1.9.3上 我经常使用“奇怪”字符,所以我必须在所有.rb文件的顶部声明UTF-8编码。 有没有办法将UTF-8设置为Ruby 1.9.3的默认编码? 我尝试了所有答案,但是当运行rake db:seed并创建一个属性包含非US-ASCII有效字符的对象时,我仍然收到此错误: `block in trace_on’: invalid byte sequence in US-ASCII (ArgumentError)

Rails 3.1和Ruby 1.9.3p125:ruby-debug19仍然崩溃,“未找到符号:_ruby_threadptr_data_type”

可能重复: 使用Ruby 1.9.3进行ruby-debug? 我听说有关ruby 1.9.3p125有解决ruby-debug19问题的传言,所以根据RVM网站上的说明,我重新安装了1.9.3: $ rvm reinstall 1.9.3 –patch debug –force-autoconf $ ruby -v ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.2.0] 然后: gem install ruby-debug19 将此条目添加到我的Gemfile: gem ‘ruby-debug19’ 然后: $ rails server -u => Booting WEBrick => Rails 3.1.3 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown […]

与primefaces分组混淆 – 它与Ruby的正则表达式中的分组有何不同?

我刚刚浏览了Atomic Grouping和rubyinfo的文档,我想到了一些简单的问题,如下所示: 为什么这个名字是“Atomic grouping” ? 一般分组没有什么“primefaces性” 。 primefaces分组与一般分组有何不同? 为什么primefaces组被称为非捕获组? 我尝试了下面的代码来理解,但是对输出的混淆以及它们在同一个字符串上的工作方式有多么不同? irb(main):001:0> /a(?>bc|b)c/ =~ “abbcdabcc” => 5 irb(main):004:0> $~ => # irb(main):005:0> /a(bc|b)c/ =~ “abcdabcc” => 0 irb(main):006:0> $~ => #