草庐IT

Ruby音译使用hash

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion我尝试使用哈希进行西里尔文=>拉丁音译,我使用#encoding:utf-8和ruby​​1.9.3。我希望此代码更改file_name的值。为什么此代码保持file_name不变?abc=Hash.newabc={"a"=>"a","b"=>"б","v"=>"в",'g'=>"г",'d'=>"д",'jo'=>"ё",'zh'=>"ж",'th'=>"з",'i'=>"и",'l'=>"л"

ruby - 是否有默认变量 `hash` ?

我在irb或Rails控制台中输入了hash,我可以看到它包含一些随机值。我不知道它是应该存在还是由某个gem完成。这里:hash#=>-943824087729528496再试一次:hash#=>3150408717325671348这正常吗?如果有,有什么用?或者该值是什么意思? 最佳答案 在Ruby中,所有顶级方法调用都发生在main对象上:self#=>mainmain是一个类为Object的对象:self.class#=>Object所以在顶层,hash调用Object#hashmain对象上的方法:hash→fixnum

ruby-on-rails - rails : How to convert a query result hash

我目前正在努力解决一些在Rails中应该非常简单的问题。我想发出一个ActiveRecord查询并从数据库中获取模型对象,然后将它们存储在哈希中以供以后查找。我已经做了一些研究,但还没有找到实现此目的的最佳方法,因此非常感谢您的帮助。我的目的是减少在循环结构中使用查找散列的sql查询的数量。在下面的伪代码中,我从一个短信网关获取状态代码,并将它们与ActiveRecord表进行比较,将获得所有状态代码描述。#Status_codesinarrayformatstatus_codes=StatusCode.allstatus_codes_hash=status_codes.to_arra

ruby - Ruby "foo".hash 的 Perl 等价物是什么?

hashRuby字符串上的方法根据字符串的长度和内容返回一个数字:>>"foo".hash=>876516207Perl中的等价物是什么? 最佳答案 如果您想获得任意字符串的摘要,请查看DigestCPAN上的模块,支持MD5和SHA1/2。您可以根据需要截断任意多个字符的结果。 关于ruby-Ruby"foo".hash的Perl等价物是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

ruby - 当类从 Hash 继承时,从初始化方法中获取类名

我有一个继承自Hash的类。当这个类本身被继承时,我想从initialize方法中知道继承类的类名。当我调用self时,我得到了{},它不知道name方法。classFoo如何获取类名? 最佳答案 很简单:self.class.name 关于ruby-当类从Hash继承时,从初始化方法中获取类名,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7569292/

Ruby Hash/Array delete_if 没有 block

根据RubyHash/Array文档,如果没有给出block,delete_if方法返回一个枚举器。这有什么用?有人可以举例说明这种模式吗? 最佳答案 在Enumerator上定义了一些方法,为迭代器提供了灵active。我经常使用的一种方法是with_index。p%w[abcdef].delete_if.with_index{|_,i|i.even?}#=>["b","d","f"]如果不使用Enumerator类来完成,则必须定义各种方法,包括delete_if_with_index,这不是一件好事。

ruby - 在 inject 方法中初始化一个 hash,以防止值为 nil

我正在尝试编译哈希列表中给定哈希键的所有值。我有以下有效的方法。[{'a':1,'b':2,'c':3},{'a':4,'b':5,'c':6},{'a':7,'b':8,'c':9}].inject({})do|hash,item|item.eachdo|key,value|hash[key]=[]ifhash[key].nil?hash[key]这是很棒的结果:{:a=>[1,4,7],:b=>[2,5,8],:c=>[3,6,9]}我的问题:是否有更优雅的方法来初始化散列,这样我就不需要检查下一行中的nil情况?hash[key]=[]ifhash[key].nil?我已经尝试将

ruby - ruby 的 Hash.replace 或者 Array.replace 有什么用?

我总是在Array和Hash文档中看到replace,我一直认为它很奇怪。我确定我已经做过很多次这样的事情:a=[:a,:b,:c,:d]...ifsome_conditiona=[:e,:f]end但我从没想过用这个代替:a=[:a,:b,:c,:d]...ifsome_conditiona.replace[:e,:f]end我认为这是预期用途。这真的可以节省内存,或者有其他好处,还是只是一种风格? 最佳答案 a=[:e,:f]和a.replace[:e,:f],两条语句生成指令如下:1.a=[:a,:b,:c,:d]a=[:e,

arrays - ruby array hash get key by value 和 value by key

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestion我有散列{"1"=>"one","2"=>"two","3"=>"three"}如何按值取键和按键取值。如果我通过“1”我得到“一”,如果我通过“二”我得到“2”deffinder(string)table={"1"=>"one","2"=>"two","3"=>"three"}*magick*}returnstringendputsfinder("1")=>oneputsfinder("one"

ruby-on-rails - Hash 不包含 'try' 方法

我注意到Ruby1.8.7中的哈希对象与Rails3.0.10中的哈希对象之间存在差异。例如,在1.8.7irb中,我得到:1.8.7:001>{}.try(:method)NoMethodError:undefnedmethod`try'for{}:Hashfrom(irb):1```但是,从3.0.10rails控制台,我得到:1.8.7:003>{}.try(:method_x)NoMethodError:undefinedmethod`method_x'for{}:Hashfrom(irb):3:in`try'from(irb):3这让我感到惊讶,因为我的印象是try在Obje