草庐IT

ruby - 从字符串中删除所有非字母、非数字字符?

如果我想删除像这样的东西:.!,'"^-#来自一个字符串数组,我将如何在保留所有字母和数字字符的同时解决这个问题。允许的字母字符还应包括带有变音符号(包括à或ç)的字母。 最佳答案 您应该使用具有正确字符属性的正则表达式。在这种情况下,您可以反转Alnum类(字母和数字字符):"◊¡Marc-André!◊".gsub(/\p{^Alnum}/,'')#=>"MarcAndré"对于更复杂的情况,假设您还需要标点符号,您还可以构建一组可接受的字符,例如:"◊¡Marc-André!◊".gsub(/[^\p{Alnum}\p{Pun

ruby - 如何从 Terminal.app 运行一段 ruby​​ 代码?

我专门将OSXTerminal.app用于命令行,但这个问题也可能适用于其他命令行工具。假设我想从命令行运行这段ruby​​代码:Cats.eachdo|cat|cat.name='Mommy'cat.kittenseachdo|kitten|kitten.color="Brown"endend现在,如果我复制/粘贴它,它就会被分解并且不会执行。 最佳答案 ruby-e"Cats.eachdo|cat|cat.name='Mommy'cat.kittenseachdo|kitten|kitten.color='Brown'enden

ruby - 如何使用每个元素从第二个元素开始在数组中循环? - ruby

假设我有一个这样的数组:["auburn","http://auburn.craigslist.org/web/","http://auburn.craigslist.org/cpg/","http://auburn.craigslist.org/eng/","http://auburn.craigslist.org/sof/","http://auburn.craigslist.org/sad/"]我想做的是只处理这个数组中的URL——它总是从element[1]开始并向上。我该怎么做? 最佳答案 这里只显示从1(第二个元素)开始

ruby-on-rails - RVM:创建一个不从全局继承的gemset?

我正在开始一个用Rails2编写的项目。看起来它需要旧版本的Rake,它在我的Ruby1.8.7全局gemset中。我想避免只为这个应用程序卸载全局1.8.7rake。无论如何我可以创建一个忽略全局gemset的gemset吗?编辑:我想避免的最明显的解决方案是从全局gemset中卸载gem。在我的特殊情况下,我开始了一些遗留应用程序的工作。它与rake0.9.3和我的调试gems(awesome_print、hirb、wirb等)之类的gem一起中断。虽然我目前的解决方案(在下面的评论中)是一个hack,但它似乎是我想要的最少工作量。我希望有一些我不知道的gemset异常命令。

ruby - 从网站保存图像(使用 watir)

如何使用watir保存网站图片,而不用open-uri或类似工具重新加载它们?我:我不能用的原因File.open(file_name,'wb')do|f|f.writeopen(img.src).readend#fileopen图像是在当前(登录)session中生成的,并且只生成一次,因此“外部”第二次访问是不可能的。二:browser.images.save()-仅适用于ie-也没有帮助,它会打开保存对话框。所以它对自动化毫无用处。示例:http://wiki.openqa.org/display/WTR/Save+All+Images+on+a+Webpagerequire'w

ruby-on-rails - 从 webhook 请求中解析 JSON

使用https://requestb.in,我可以看到webhook正确发送header+json正文数据。但是当我向我的服务器发送json请求时,我在解析json时遇到错误。我的Controller(无法接收body数据):classReceiverController错误输出:application/json;charset=utf-8request:JSON::ParserError(AJSONtextmustatleastcontaintwooctets!):app/controllers/receiver_controller.rb:69:in`handle_post'req

ruby - 从另一个类调用 Sinatra erb

我需要在我的Controller中的一个类中呈现一个Sinatraerb模板。不过,我在调用它时遇到了问题。我查看了Sinatrardocs并得出了这个结论:Sinatra::Templates.erb:template_to_render当我这样做时,出现以下错误:undefinedmethod`erb'forSinatra::Templates:Module有没有办法从另一个类调用它? 最佳答案 要在其他类(不是Controller)中模仿SinatraController的渲染行为,您可以像这样创建模块:moduleErbRe

ruby - 如何从 Ruby 访问 GNOME key 环?

我需要从Ruby编程语言访问GNOMEkey环。但是,我找不到任何ruby​​gem库。具体来说,我正在尝试获取desktopcouch的Oauthkey。如何实现? 最佳答案 尝试key环https://rubygems.org/gems/keyring/versions/0.3.1它的工作原理很简单require'keyring'keyring=Keyring.newmy_password=keyring.get_password('service','username') 关于ru

ruby - 搜索从给定索引开始的数组元素

在Python中,您可以在搜索列表元素时指定开始和结束索引:>>>l=['a','b','a']>>>l.index('a')0>>>l.index('a',1)#beginatindex12>>>l.index('a',1,3)#beginatindex1andstopbeforeindex32>>>l.index('a',1,2)#beginatindex1andstopbeforeindex2Traceback(mostrecentcalllast):File"",line1,inValueError:'a'isnotinlistRuby中是否有等效的功能?您可以使用数组切片,但

ruby-on-rails - 如何测试从控制台登录Rails?

我花了很多时间弄清楚如何使用Rails的响应对象登录和注销。标准的博客还可以,但我终于诊断出来了,我想在这里记录一下。app.get'/'assert_response:successapp.get'/auth_only_url'assert_response302user=User.find(:user_to_login)app.post'/signin_url',:user_email=>user.email,:user_password=>''assert_response302app.follow_redirect!assert_response:successapp.get'