我有一些方法:
def example_method
I ? world!
end
Run Code Online (Sandbox Code Playgroud)
我对这个方法有两个问题:
example_method不是我的方法),这种方法怎么可能不会返回错误.'I ? too!'字符串而不重新定义,重写此方法.第2点是我必须解决的练习.
谢谢!
我可以转换"+","-"或"/"运营商使用2.send("-",3)
但它不起作用 "+="
a = 2
a += 2 #=> 4
a = 2
a.send("+=", 4) #=> NoMethodError: undefined method `+=' for 2:Fixnum
Run Code Online (Sandbox Code Playgroud)
我试图先转换符号; 但也行不通;
怎么解决这个问题?
在ruby中,如何查找给定字符串的第一个非空格(非制表符,非空格,非换行符)的索引.
例如,给定字符串"\t\nstring",第一个非制表符,非空格字,非换行符的索引将是2,即's'.
我是红宝石的初学者,试图用它来帮助我分析生物数据.我需要尝试将一组数据(数组中的数字)与具有特定特异性的数据(例如数字+/- 0.25)相匹配我已经提出这个(到目前为止)将一个数据集更改为范围而不是数字:
def range(arr)
c = []
arr.each do |b|
b = (b-0.25..b+0.25)
b = b.to_a
c << b
end
c = c.flatten
return c
end
Run Code Online (Sandbox Code Playgroud)
代码给出了所需的数组,但我总是得到
TypeError: can't iterate from Float.
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
这是我的实际数据样本:
119.0456 119.0714 119.0721 119.0737 120.0772 130.0746 131.0737 136.0721 140.0951 143.0697 154.038 154.0744 154.1108 155.0949 156.054 169.053 170.1422 171.0646 171.0686 174.0644 174.0795 180.0539 182.1059
我需要将它与理论集匹配,我需要生成容差为0.002我正在逐步编写代码以生成我的理论集,因为我还是新编码,只是想知道如何在我的理论集合周围创建一个+/- 0.002的范围,以使其与实际的一致.
我有这个时区偏移格式的日期,我需要将其转换为 UTC 格式。例如:
日期 1 = 2017-07-13T17:13:12-04:00
date2_utc = 2017-07-13 21:13:12 UTC
我需要比较这两个日期是否相同。或者,如果我可以将 date1 转换为 UTC,那么我可以比较这两者。
我有一个包含转义字符的字符串:
word = "x\nz"
Run Code Online (Sandbox Code Playgroud)
我想将其打印为x\nz.
但是,puts word给了我:
x
z
Run Code Online (Sandbox Code Playgroud)
如何获得puts word输出x\nz而不是创建新行?
Date.commercial 找到一周开始(星期一)的方法在第 53 周不起作用
Date.commercial(2018, 1, 1)
#=> 2018-01-01
Date.commercial(2018, 52, 1)
#=> 2018-12-24
Run Code Online (Sandbox Code Playgroud)
当我尝试在有 53 周的年份中查找第 53 周的星期一时,它会引发错误。
Date.commercial(2018, 53, 1)
# ArgumentError: invalid date
Run Code Online (Sandbox Code Playgroud)
此外,它的定义对我来说也不清楚。就像这两个人的行为如此不同:
Date.commercial(2015, 1, 1)
#=> 2014-12-29
Date.commercial(2016, 1, 1)
#=> 2016-01-04
Run Code Online (Sandbox Code Playgroud)
我认为这是因为Date.commercial()将周数转换为日期的定义与Date.strftime("%W"). 是否有任何方法可以将年份的周数转换为与 一致的星期几Date.strftime("%W"),即 的反向函数Date.strftime("%W")?
我有这个哈希:
h = {
124 => ["shoes", "59.99"],
456 => ["pants", "49.50"],
352 => ["socks", "3.99"]
}
Run Code Online (Sandbox Code Playgroud)
每个值都有两个元素.他们是一个名称(如"shoes","pants","socks")和价格(例如"59.99","49.50"和"3.99").我需要选择价格最高的价值.这124对价格来说至关重要"59.99".如何选择价格最高的哈希?
我试过这个:
h.select{ |x| x[1] }.max
#=> [456, ["pants", "49.50"]]
Run Code Online (Sandbox Code Playgroud)
但这给了我最大值并返回键456.
这是我要转换的时间格式
time = Time.parse('2020-07-02 03:59:59.999 UTC')
#=> 2020-07-02 03:59:59 UTC
Run Code Online (Sandbox Code Playgroud)
我想以这种格式转换为字符串。
"2020-07-02T03:59:59.999Z"
Run Code Online (Sandbox Code Playgroud)
我试过了。
time.strftime("%Y-%m-%dT%H:%M:%S.999Z")
Run Code Online (Sandbox Code Playgroud)
这样对吗?有什么更好的办法吗?
我目前有:
@teams ||= {}
@teams[date] ||= {}
@teams[date][team] ||= {}
@teams[date][team][raw_address] ||= {}
@teams[date][team][raw_address]['address'] = address
@teams[date][team][raw_address]['orders'] ||= {}
@teams[date][team][raw_address]['orders'][order.id] = order
Run Code Online (Sandbox Code Playgroud)
是否可以“删除”包含||= {}? 我只想有这样的东西:
@teams[date][team][raw_address]['address'] = address
@teams[date][team][raw_address]['orders'][order.id] = order
Run Code Online (Sandbox Code Playgroud)