我正在使用graphql-ruby
,我真的很希望能够键入为之类的东西创建的动态方法arguments
。
小例子:
class Test
argument :first_argument, String
argument :secondArgument, String, as: second_argument, required: false
def method
puts first_argument.length # this is okay
puts second_argument.length # this is a problem, because it can be nil
end
end
我试图通过这样做来定义这些:
# ...
first_argument = T.let(nil, String)
second_argument = T.let(nil, T.nilable(String))
这似乎不起作用。我也做过
#...
sig { returns(String) }
def first_argument; ""; end
sig { returns(T.nilable(String)) }
def second_argument; end
这有效,但并不过分漂亮。有没有更好的方法来解决这个问题?