如何从配置文件(文本)读取值?

时间:2018-07-29 05:26:10

标签: rebol red

我需要从名为.env的配置文件中读取值(文本),并将其分配给变量,以便稍后在程序中使用它们。

.env文件包含名称/值对,看起来像这样:

ENVIRONMENT_VARIABLE_ONE = AC9157847d72b1aa5370fdef36786863d9
ENVIRONMENT_VARIABLE_TWO = 73cad721b8cad6718d469acc42ffdb1f
ENVIRONMENT_VARIABLE_THREE = +13335557777

到目前为止我尝试过的

read-values.red

Red [

]

contents: read/lines %.env

env-one: first contents
env-two: second contents
env-three: third contents

print env-one ; ENVIRONMENT_VARIABLE_ONE = AC9157847d72b1aa5370fdef36786863d9
print env-two ; ENVIRONMENT_VARIABLE_ONE = 73cad721b8cad6718d469acc42ffdb1f
print env-three ; ENVIRONMENT_VARIABLE_ONE = +13335557777

我在寻找什么

print env-one ; AC9157847d72b1aa5370fdef36786863d9
print env-two ; 73cad721b8cad6718d469acc42ffdb1f
print env-three ; +13335557777

如何继续或更改代码并解析这些字符串,例如env-变量将仅包含值?

2 个答案:

答案 0 :(得分:3)

env-one: skip find first contents " = " 3

查看帮助以查找和跳过

答案 1 :(得分:3)

使用parse的另一种解决方案可能是: foreach [word value] parse read %.env [collect some [keep to "=" skip keep to newline skip]] [set load word trim value]

这将把单词添加到全局上下文中,ENVIRONMENT_VARIABLE_ONE将是AC9157847d72b1aa5370fdef36786863d9,依此类推。