对不起,英语不好(或有些错误)!这不是我的母语。
在回答我的问题之前,您需要查看一些代码。
filterrific(
default_filter_params: {},
available_filters: [
:with_mother_tongue,
:with_locality,
:with_start_time_gte])
scope :with_mother_tongue, -> (search_string) {
where("users.mother_tongue LIKE ?", (search_string.to_s.gsub('*', '%') + '%').gsub(/%+/, '%'))
}
scope :with_locality, -> (search_string) {
where("users.locality LIKE ?", (search_string.to_s.gsub('*', '%') + '%').gsub(/%+/, '%'))
}
scope :with_start_time_gte, lambda { |ref_date|
where('users.availabilities.start_time >= ?', ref_date)
}
我需要制作class position:
# position.zero is here.
def __init__(self, x=0, y=0):
self.x = x
self.y = y
# or here
变量,该变量是position.zero
或position(0, 0)
的快捷方式
答案 0 :(得分:1)
使用类方法:
class position:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
@classmethod
def zero(cls):
return cls()
将其设置为属性,因此接口是position.zero
而不是position.zero()
,但这是很简单的。 here对此进行了详细介绍。如果您只需要/想要一个零实例并且不需要它尊重继承,请选择可用的最简单的选项,并在定义后将其放入类名称空间:
class position:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
position.zero = position()