Je suis nouveau à ruby et rubmine. J'essaie d'utiliser la mine de rubis.
J'ai cours comme suit
module Xyz;
class A
def doA()
end
end
end
module Xyz
class B
def doB()
end
end
end
module Xyz
class C
define initialize(b)
#injecting instance of Xyz::B into C
@b = b
end
def doC()
a = Xyz::A.new
a.doA() #Autocompletes workshere
b.doB() #Doesnot autocomplete, so suggestions shown
end
end
end
Pourquoi mon autocomplete ne fonctionne-t-il pas pour doB ()? Est-ce que je fais quelque chose de mal ou est-ce prévu?
Réponses:
1 pour la réponse № 1Regardez ce code:
class Test
def initialize(a)
@a = a
end
end
Savez-vous quelles méthodes @a
aura avant qu'il soit effectivement attribué etcourir? Ruby est vraiment un langage typé duct. RubyMine fait un bon travail en indexant les classes et les méthodes de prédiction. Par exemple, cela fonctionnera parce que Xyz a été indexé et que RubyMine sait quelles méthodes il utilisait pour pouvoir le prédire.
a = Xyz::A.new
a.doA() # Works because RubyMine KNOWS what class "a" is