让我们说我已经创建了一个下面定义的类,并且我已经在其上调用了方法:
post_user = notifications.map(&:post).map(&:user)
post_shares = []
notifications.each do |n|
post_shares += n.post.post_shares
end
social_page_users = post_shares.map(&:social_page).map(&:user)
方法class Student:
def __init__(self, name):
self.name = name
self.friends = []
def add_friend(self, new_friend: Student):
self.friends.append(new_friend)
student1 = Student("Brian")
student2 = Student("Kate")
student1.add_friend(student2)
有一个名为add_friend
的参数,它是一个new_friend
对象。如何使用类型提示指定?我假设您只需输入类的名称,例如Student
,但它不起作用。当我运行它时,我得到一个new_friend: Student
。我也试过NameError: name 'Student' is not defined
,但它给了我同样的错误。我做错了什么?
答案 0 :(得分:4)
Per PEP-484,使用类的字符串名称作为前向引用:
class Student:
def __init__(self, name):
self.name = name
self.friends = []
def add_friend(self, new_friend: 'Student'):
self.friends.append(new_friend)