草庐IT

整数编码

全部标签

ruby - 严格将字符串转换为整数(或零)

对于网络编程,数字以字符串形式出现。但是to_i会将"5abc"转换为5并将"abc"转换为0,都是错误的答案。为了捕获这些,我写道:defnumber_or_nil(s)number=s.to_inumber=nilif(number.to_s!=s)returnnumberend是否有一种更简洁、更符合Ruby标准的方法来完成此转换并检测该字符串不是数字? 最佳答案 使用整数(字符串)如果字符串无法转换为整数,它将引发ArgumentError错误。Integer('5abc')#=>ArgumentError:invalidv

ruby - 使用整数作为散列键

在Ruby哈希中使用整数作为键是否合适?文档中的每个示例都显示了一个字符串或符号被用作键,但从来没有一个整数。在内部,整数会以某种方式转换为字符串吗?我看到了一些关于这个主题的相互矛盾的信息。换句话说,使用整数键来哈希有什么明显的缺点吗? 最佳答案 其他查看此处答案的人可能会发现当您在Rubyhash中使用整数作为符号键时会发生异常会很有趣{符号:值}hash={1:'one'}#willnotworkhash={1=>'one'}#willwork要求的解释:第一个示例失败的最简单答案可能是to_sym不是为Fixnum实现的方法

ruby - 检查一个整数是否在一个范围内

这个问题在这里已经有了答案:Determiningifavariableiswithinrange?(10个答案)关闭7年前。是否有一种简单的方法可以使用(2..100)语法评估整数是否在该范围内。例如,如果我的整数x=100并且我的范围是(0..200),我想评估为真,我只是在看对于这样做的简单、简洁的ruby​​方式。

ruby-on-rails - 如何在 Ruby 中给定 URL 中的 base64 编码媒体

我正在尝试将图像上传到PingFM。他们的documentation说:media–base64encodedmediadata.我可以通过URL访问此图像。我试过(几乎猜到了)这个:ActiveSupport::Base64.encode64(open("http://image.com/img.jpg"))但是我得到这个错误:TypeError:can'tconvertTempfileintoStringfrom/usr/lib/ruby/1.8/base64.rb:97:in`pack'from/usr/lib/ruby/1.8/base64.rb:97:in`encode64'

Ruby 将 CSV 文件读取为 UTF-8 和/或将 ASCII-8Bit 编码转换为 UTF-8

我正在使用ruby1.9.2我正在尝试解析包含一些法语单词(例如spécifié)的CSV文件,并将内容放入MySQL数据库中。当我从CSV文件中读取行时,file_contents=CSV.read("csvfile.csv",col_sep:"$")返回的元素是ASCII-8BIT编码的字符串(spécifié变为sp\xE9cifi\xE9),然后像“spécifié”这样的字符串没有正确保存到我的MySQL数据库中。YehudaKatz表示ASCII-8BIT实际上是“二进制”数据,这意味着CSV不知道如何读取适当的编码。所以,如果我尝试让CSV强制编码如下:file_cont

ruby-on-rails - 将 Ruby 日期转换为整数

如何将Ruby日期转换为整数? 最佳答案 t=Time.now#=>2010-12-2011:20:31-0700#Secondssinceepocht.to_i#=>1292869231require'date'd=Date.today#=>#epoch=Date.new(1970,1,1)#=>#d-epoch#=>(14963/1)#Dayssinceepoch(d-epoch).to_i#=>14963#Secondssinceepochd.to_time.to_i#=>1292828400

ruby - 将 float 四舍五入到 ruby​​ 中最接近的整数

如果我有一个49.967的float并且我执行.to_i它将把它削减到49这对于我使用磁盘空间分析.967超过900mb的空间不会在显示中考虑。是否有将数字四舍五入到最接近的整数的函数,或者我必须像这样自己定义它:classFloatdefto_nearest_i(self+0.5).to_iendend这样我就可以做:>>5.44.to_nearest_i=>5>>5.54.to_nearest_i=>6 最佳答案 试试Float.round。irb(main):001:0>5.44.round=>5irb(main):002:0

ruby - 根据整数值创建包含 n 个项目的数组

假设我有一个整数值,例如10。如何创建一个包含10个元素的数组,如[1,2,3,4,5,6,7,8,9,10]? 最佳答案 你可以直接拼出一个范围:[*1..10]#=>[1,2,3,4,5,6,7,8,9,10]Ruby1.9允许多个splats,这非常方便:[*1..3,*?a..?c]#=>[1,2,3,"a","b","c"] 关于ruby-根据整数值创建包含n个项目的数组,我们在StackOverflow上找到一个类似的问题: https://sta

ruby - 在 Ruby 中将整数数组转换为字符串数组?

我有一个数组:int_array=[11,12]我需要把它转换成str_array=['11','12']我是这项技术的新手 最佳答案 str_array=int_array.map(&:to_s) 关于ruby-在Ruby中将整数数组转换为字符串数组?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/781054/

ruby-on-rails - 解析字符串以添加到 URL 编码的 URL

给定字符串:"Hellothereworld"如何创建这样的URL编码字符串:"Hello%20there%20world"我还想知道如果字符串也有其他符号该怎么办,比如:"hellothere:world,howareyou"最简单的方法是什么?我打算解析然后为此构建一些代码。 最佳答案 在2019年,URI.encode已过时,不应再使用。require'uri'URI.encode("Hellothereworld")#=>"Hello%20there%20world"URI.encode("hellothere:world,