gpt4 book ai didi

ruby - 如何获取 Ruby 源代码文件中的所有字符串文字?

转载 作者:太空宇宙 更新时间:2023-11-03 17:39:18 24 4
gpt4 key购买 nike

我正在分析一些代码并寻找字符串文字,以检查是否有任何重复项。例如,如果我有

def test_foo
input_filename = "foo.txt"
# ...
end

def test_bar
input_filename = "bar.txt" # Fine
# ...
end

def test_baz
# Bad! Refactor it to a constant that's shared by test_foo and test_baz
input_filename = "foo.txt"
# ...
end

我希望分析程序告诉我 ["foo.txt", "bar.txt", "foo.txt"] 存在于我的源代码中。

我该怎么做?

最佳答案

如果安装 ruby_parser or parsetree ,你将能够做这样的事情(假设程序文本在 text 中):

result = RubyParser.new.parse(text)
result.flatten.to_a.select {|elt| elt.is_a?(String)}

(这显然可以更好,但它应该足以让您入门!)

关于ruby - 如何获取 Ruby 源代码文件中的所有字符串文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8439090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com