草庐IT

Python:实现简单的递归下降Parser

全部标签

asp.net - 在 Ruby 中重新实现 ASP.NET 成员资格和用户密码哈希

我有一个大型用户数据库(约200,000个),我正在将其从ASP.NET应用程序转移到RubyonRails应用程序。我真的不想要求每个用户重置他们的密码,所以我试图在Ruby中重新实现C#密码哈希函数。旧函数是这样的:publicstringEncodePassword(stringpass,stringsaltBase64){byte[]bytes=Encoding.Unicode.GetBytes(pass);byte[]src=Convert.FromBase64String(saltBase64);byte[]dst=newbyte[src.Length+bytes.Leng

ruby - SAP 新实现Ruby 对Ruby 程序员有何意义?

SAP宣布BlueRuby,在ABAP虚拟机中运行的Ruby版本。这似乎为Ruby语言增加了可信度,但是,除了SAP开发人员之外,这是否适用于Ruby社区的其他人?我只是想知道这可能还有什么其他意义。可能会雇用Ruby开发人员从事SAP项目的额外工作机会?Ruby程序员还有其他潜在的好处吗?此外,还有一些我不清楚的地方:除了MRI和JRuby,还有多少种不同的实现,为什么我作为Ruby程序员需要MRI以外的任何实现?我知道如果我想与Java库集成,我可能需要JRuby。除了MRI或JRuby之外,还有什么时候我可能需要研究实现吗?我注意到BlueRuby已编译。这是一个很大的好处吗?这

Ruby 相当于 Python setattr()

好吧,将我添加到爱上Ruby但对PyAddiction挥之不去的Python程序员的列表中。喜欢关于Python'sgetattr的帖子,我正在寻找与此等效的Ruby:setattr(obj,'attribute',value)其中obj是一个对象实例,attribute是对象属性之一的字符串名称,value是该对象的值。等效代码为:obj.attribute=value我假设这是可能的(因为现在在Python中的任何可能在Ruby中似乎更容易),但找不到它的文档。 最佳答案 obj.instance_variable_set("@

ruby - 如何在 rspec 测试中定义一个可以被辅助函数访问的简单全局变量

我不知道如何在rspec测试中使用一个简单的全局变量。这似乎是一个微不足道的功能,但经过多次目击后我还没有找到解决方案。我想要一个可以在整个主规范文件和辅助规范文件中的函数中访问/更改的变量。这是我目前所拥有的:require_relative'spec_helper.rb'require_relative'helpers.rb'let(:concept0){''}describe'ICETesting'dodescribe'step1'doit"Populatessuggestionscorrectly"doconcept0="tg"selectConcept()#inhelperf

ruby - 使用 Ruby 和递归查找所有可能的排列

我一直在尝试解决一个简单的测验问题,以使用Ruby和递归找到字符串的所有可能排列。我有以下Ruby代码:defpermutation(string)return[string]ifstring.size每当我尝试使用putspermutation("abc")测试代码时,我都会得到以下输出:cacbccbabccbcaccbcacacbcbabcba从理论上讲,这应该是一个非常简单明了的问题,但我确定我做错了什么。很可能它与循环的范围有关。我知道RubyArray类有实例方法permutation来做到这一点,但我正在尝试解决它以进行练习。请注意,当前实现的复杂度为O(N!)。无论如何

ruby - 使用 TCPServer 的 Ruby 中的简单 HTTP 服务器

为了一项学校作业,我尝试使用Ruby和套接字库创建一个简单的HTTP服务器。现在,我可以让它通过一个简单的问候来响应任何连接:require'socket'server=TCPServer.open2000puts"Listeningonport2000"loop{client=server.accept()resp="Hello?"headers=["HTTP/1.1200OK","Date:Tue,14Dec201010:48:45GMT","Server:Ruby","Content-Type:text/html;charset=iso-8859-1","Content-Leng

ruby - 在 Ruby 中动态替换对象上的方法实现

我想用用户指定的block替换对象方法的实现。在JavaScript中,这很容易实现:functionFoo(){this.bar=function(x){console.log(x)}}foo=newFoo()foo.bar("baz")foo.bar=function(x){console.error(x)}foo.bar("baz")在C#中也很容易classFoo{publicActionBar{get;set;}publicFoo(){Bar=x=>Console.WriteLine(x);}}varfoo=Foo.new();foo.Bar("baz");foo.Bar=x

Ruby:如何递归查找和删除空目录?

我正在尝试编写一些ruby​​,它会递归地在给定目录中搜​​索所有空子目录并将其删除。想法?注意:如果可能的话,我想要一个脚本版本。这既是实际需要,也是对我学习的帮助。 最佳答案 在ruby中:Dir['**/*']\.select{|d|File.directory?d}\.select{|d|(Dir.entries(d)-%w[...]).empty?}\.each{|d|Dir.rmdird} 关于Ruby:如何递归查找和删除空目录?,我们在StackOverflow上找到一个类

Ruby 堆栈级别太深异常不是来自递归无限循环

编辑:(已解决)实际上它可能是因为无限循环而引发的我正在编码,在添加一个方法后我得到了这个:user_name@the_computer:/media/ECC3-C3B0/Prog/mts/src/mts$raketest--trace**Invoketest(first_time)**Executetest/home/user_name/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:stackleveltoodeep(SystemStackError)rakeabo

ruby - ruby 中的简单拼写检查方法/ gem ?

我正在寻找一种相对快速的方法来检查单词是否拼写错误,可以使用gem或API。我试过使用几种gems——raspell、ffi-aspell、hunspell-ffi、spell_cheker和spellchecker——每一种都有不同的错误。我是ruby​​的新手,希望有一个简单的解决方案(我正在处理很多短文本文件并想计算拼写错误的单词的百分比),不包括从头开始构建一些东西。尝试ffi-aspell时,出现以下错误:/Users/ntaylorthompson/.rvm/gems/ruby-1.9.2-p320/gems/ffi-aspell-0.0.3/lib/ffi/aspell/