gpt4 book ai didi

python - 协助 ruby​​ def

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:11 25 4
gpt4 key购买 nike

所以,我是 ruby​​ 的新手,对它很好奇。我来自 python 。在 python 中,我会这样做以查看字典中是否存在某些内容。

dictionary = dict()
dictionary['key'] = 5
def inDictionary(key):
if key in dictionary:
execute code
else:
other code

对我来说相当简单,另一方面,在 ruby​​ 中我该怎么做?我一直在尝试类似的东西

dictionary = Hash.new
dictionary['key'] = 5
def isDictionary(key)
if dictionary.has_key?(key)
puts 'has key'
end
end

我收到错误消息,isDictionary 未定义局部变量或方法“字典”。我做错了什么,在此先感谢。

最佳答案

在 Ruby 中,defclassmodule 关键字开始新的局部作用域。这意味着 dictionary 变量(定义为本地变量)在此 isDictionary 函数中不可访问,因为最新的有其自己的范围。

当然,您可以使用 $ 符号标记您的变量以使其成为全局变量,但最好不要这样做。 Ruby 的全部要点是使对象——数据集合和处理/转换数据的方法——尽可能“天生”。

在这种情况下,最自然的解决方案是定义类 Dictionary,使字典成为其实例变量(使用 @ 标记),然后在类方法 isDictionary 中访问该变量。

关于python - 协助 ruby​​ def,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com