【发布时间】:2016-06-28 06:18:46
【问题描述】:
为什么我仍然允许这样做?
@spec url_hash(String.t) :: String.t
def url_hash(url) do
url = String.replace(url, ~r/\s/, "")
Base.encode16(:crypto.hash(:md5, url), case: :lower)
end
而不是,我认为合适的函数式编程范式?
@spec url_hash2(String.t) :: String.t
def url_hash2(url) do
url_copy = String.replace(url, ~r/\s/, "")
Base.encode16(:crypto.hash(:md5, url_copy), case: :lower)
end
如您所见,我正在修改函数体内的参数值。
【问题讨论】:
-
@GavinBrelstaff 所以悬空指针几乎是常态?
-
从函数返回后,您是否费心检查URL?
-
@OnorioCatenacci 我在阅读了链接的答案后得到了它,范围的东西
标签: functional-programming elixir