【发布时间】:2020-01-24 06:08:45
【问题描述】:
我正在将一块 Ruby 移植到 Python。除了以下代码,我已经移植了大部分代码。我真的不知道它的作用。
变量 rest 将是一个代表电话号码的字符串。它只是真正的
country_handler = splitter_mapping[i][presumed_cc]
这让我感到困惑。我意识到我可能可以在 python 中使用 kwargs,但我不太确定。
有什么想法吗?
module Phony
class CountryCodes
attr_reader :splitter_mapping
def split_cc rest
presumed_cc = ''
1.upto(3) do |i|
presumed_cc << rest.slice!(0..0)
country_handler = splitter_mapping[i][presumed_cc]
return [country_handler, presumed_cc, rest] if country_handler
end
# This line is never reached as CCs are in prefix code.
end
【问题讨论】:
-
看起来你从一个字符串开始,它试图找到存在于拆分器映射中的那个字符串的前缀(长度为 1 到 3)(这似乎是国家代码的哈希数组到某种值,按国家代码的长度排列)。不知道为什么
-
抱歉错过了 splitter_mapping 定义源文件可以在这里找到 - github.com/floere/phony/blob/master/lib/phony/country_codes.rb