草庐IT

类型强制转换

全部标签

ruby - 将 unicode 代码点转换为 Ruby 中的字符串字符

我有来自unicode数据库的这些值,但我不确定如何将它们转换为人类可读的形式。这些到底叫什么?他们在这里:U+2B71FU+2A52DU+2A68FU+2A690U+2B72FU+2B4F7U+2B72B如何将这些转换为可读的符号? 最佳答案 怎么样:#Usingpackputs["2B71F".hex].pack("U")#Usingchrputs(0x2B71F).chr(Encoding::UTF_8)在Ruby1.9+中你还可以:puts"\u{2B71F}"即\u{}转义序列可用于解码Unicode代码点。

ruby-on-rails - 在 rails 中使用 MIME 类型渲染文件

代码如下:render:file=>@somedir+"/blah.xml"...但是当我checkinFireBug时,生成的MIME类型是text/html。在这种情况下如何指定MIME类型? 最佳答案 实际上有两种设置内容类型的方法(我认为这就是你所说的mime-type的意思)。如果第二个选项适用于您的Rails版本,您应该使用第二个选项。classFileControllerfilename#2render:file=>filename,:content_type=>content_typeendend希望这对您有所帮助!

Ruby:将时间转换为秒?

如何将10:30之类的时间转换为秒?是否有某种内置的Ruby函数来处理这个问题?基本上是试图计算出从午夜(00:00)到一天中特定时间(例如10:30或18:45)的秒数。 最佳答案 您可以使用DateTime#parse将字符串转换为DateTime对象,然后将小时乘以3600,将分钟乘以60以获得秒数:require'date'#DateTime.parsethrowsArgumentErrorifitcan'tparsethestringifdt=DateTime.parse("10:30")rescuefalsesecond

Ruby:将嵌套哈希转换为对象?

我正在尝试将包含嵌套哈希的哈希转换为对象,以便可以使用点语法访问属性(包括嵌套属性)。到目前为止,第一个哈希对象已通过此代码成功转换:classHashitdefinitialize(hash)hash.eachdo|k,v|self.instance_variable_set("@#{k}",v)self.class.send(:define_method,k,proc{self.instance_variable_get("@#{k}")})self.class.send(:define_method,"#{k}=",proc{|v|self.instance_variable_s

ruby - 如何将 BigDecimal 转换为两位小数的字符串?

我想将BigDecimal对象转换为保留两位小数的货币值。我不想四舍五入。我该怎么做?以下方法均无效:v=BigDecimal("7.1762")w=BigDecimal("4.2")v.to_s('2F')#=>"7.1762"v.to_s('F')#=>"7.1762"v.to_s('%0.2F')#=>"0.71762E1"v.to_s('%0.2f')#=>"0.71762E1"v.truncate(2).to_s('F')#=>"7.17"#Thisonelookslikeitworkedw.truncate(2).to_s('F')#=>"4.2"#Butitdoesn't

ruby - 列出模块在 Ruby 中声明的所有类型

如何在Ruby中列出模块声明的所有类型? 最佳答案 使用Module模块中定义的constants方法。来自Ruby文档:Module.constants=>arrayReturnsanarrayofthenamesofallconstantsdefinedinthesystem.Thislistincludesthenamesofallmodulesandclasses.pModule.constants.sort[1..5]produces:["ARGV","ArgumentError","Array","Bignum","Bi

ruby - 如何将 IO 对象转换为 Ruby 中的字符串?

我正在处理一个IO对象(一些STDOUT输出文本),并且我正在尝试将它转换为一个字符串,以便我可以进行一些文本处理。我想做这样的事情:my_io_object=$stdout#=>#>my_io_object.puts('hi')#note:Iknowhowtomake'hi'intoastring,butthisisasimplifiedexample#=>himy_io_object.to_s我已经尝试了一些东西并得到了一些错误:my_io_object.read#=>IOError:notopenedforreadingmy_io_object.open#=>NoMethodEr

ruby-on-rails - 无法将不允许的参数转换为散列 - Ruby on Rails 应用程序错误

我什至不知道从哪里开始......整天都在努力弄清楚。谷歌上没有相关内容。我以前很好,整个网站都无法使用。我去的任何页面都会抛出错误“无法将不允许的参数转换为散列”gem向我展示了更好的错误:覆盖以防止#cause在重新加注期间重置。attr_reader:causedefinitialize(template)super($!.message)set_backtrace($!.backtrace)@cause=$!@template,@sub_templates=template,nilend当天早些时候,我已经升级到Rails5,升级方式与其他Rails应用完全相同,完全没有问题—

ruby - 如何在 Ruby 中将月份名称转换为月份整数?

如果我以字符串“March”开头,我怎样才能得到那个月的整数? 最佳答案 使用Date::MONTHNAMES:Date::MONTHNAMES.index("June")=>6另请注意,缩写月份名称有一个等效项-Date::ABBR_MONTHNAMES:Date::ABBR_MONTHNAMES.index("Jun")=>6 关于ruby-如何在Ruby中将月份名称转换为月份整数?,我们在StackOverflow上找到一个类似的问题: https://

ruby-on-rails - 将 Ruby 哈希转换为 JSON(无转义字符)

我有一个哈希:my_hash={"bob.johnson@example.com"=>{"first"=>"Bob","last"=>"Johnson"},"lisa.dell@example.com"=>{"first"=>"Lisa","last"=>"Dell"}}当我尝试用my_hash.to_json序列化它时,这是我得到的:"{\"bob.johnson@example.com\":{\"first\":\"Bob\",\"last\":\"Johnson\"},\"lisa.dell@example.com\":{\"first\":\"Lisa\",\"last\":\