鉴于下面的代码可以正常工作,该代码如何实现包含文字的建议,而不只是实现以开头的给定序列的建议?
我正在寻找SQL中的“%LIKE%”之类的东西。例如,写“汽车”我想成为像“ verdure carciofi”这样的词。
class WordCount
def self.word_count_from_file(filename)
@s = File.open(filename) { |file| file.read }
count_frequency
end
def self.word_count_from_string(str)
@s = str
count_frequency
end
def self.count_frequency
words_array.each_with_object(Hash.new(0)) { |word, cnt| cnt[word] += 1 }.sort_by(&:last).reverse
end
def self.words_array
@s.downcase.scan(/[\w']+/)
end
end
答案 0 :(得分:2)
您可以编写自己的类来实现SimpleContentProposalProvider
,而不是IContentProposalProvider
。
此界面只有一种方法:
public IContentProposal[] getProposals(String contents, int position)
将为您提供当前控件的内容和插入位置,并由您决定是否返回适当的建议。
您可以使用实现ContentProposal
的{{1}}类。
因此,如果文本为“汽车”,返回提案的简单提供者可能是:
IContentProposal
,您的代码将变为:
class MyProposalProvider implements IContentProposalProvider
{
@Override
public IContentProposal [] getProposals(final String contents, final int position)
{
if (contents.equals("car")) {
return new IContentProposal [] {
new ContentProposal("proposal 1", "description 1", null),
new ContentProposal("proposal 2", "description 2", null),
};
}
return new IContentProposal [0];
}
}