gpt4 book ai didi

ruby-on-rails - Ruby - 从 Podfile.lock 解析依赖数据

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

我有一个示例 podfile.lock,如下所示:

PODS:
- MyLibrary1 (0.10.0):
- MyLibrary1A (>= 0.9.0)
- AFNetworking (1.1.0)
- MyLibrary2 (3.0.0)
- Objective-C-HMTL-Parser (0.0.1)

DEPENDENCIES:
- MyLibrary1 (= 0.10.0)
- AFNetworking (= 1.1.0)
- MyLibrary2 (= 3.0.0)
- Objective-C-HMTL-Parser (= 0.0.1)

SPEC CHECKSUMS:
MyLibrary1: 1d65fa5d905211c8981a11091eae8c98b410eb19
AFNetworking: 761a418233d280c1e0580bcb76ff9cb4c3073d17
MyLibrary2: 35b80d5cc522b0f53beb5583c635e42ecce69743
Objective-C-HMTL-Parser: 4fca85e186a829cfe8db8e316e9688571ea4dfed

COCOAPODS: 0.16.9

要求:

我想要 JSON 格式的依赖数据之间的数据,例如:

{
"MyLibrary1": "0.10.0",
"AFNetworking": "1.1.0",
"MyLibrary2": "3.0.0",
"Objective-C-HMTL-Parser": "0.0.1"
}

我做了什么:

我试图首先使用正则表达式获取“DEPENDENCIES:”中的数据:

  start_string = "DEPENDENCIES:"
end_string = "SPEC CHECKSUMS:"
file_contents[/#{start_string}(.*?)#{end_string}/m, 1]

有了这个我得到:

"\n  - MyLibrary1 (= 0.10.0)\n  - AFNetworking (= 1.1.0)\n  - MyLibrary2 (= 3.0.0)\n  - Objective-C-HMTL-Parser (= 0.0.1)\n\n"

问题:

根据上面发布的正则表达式结果,获取/分离“MyLibrary1”和“0.10.0”以制作 JSON 的简单方法是什么?

最佳答案

可以使用\G anchor 标记最后一场比赛结束时的位置:

rubular

data.scan /(?:\G(?!\A)|^DEPENDENCIES:\n)- (\S+) \(= ([^)]+)\)\n/
=> [["MyLibrary1", "0.10.0"], ["AFNetworking", "1.1.0"], ["MyLibrary2", "3.0.0"], ["Objective-C-HMTL-Parser", "0.0.1"]]

关于ruby-on-rails - Ruby - 从 Podfile.lock 解析依赖数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25875474/

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