使用foreach将后缀添加到列表中

时间:2016-07-29 13:28:01

标签: phing

我包含一个.properties文件,其中包含一个属性列表:

UITabBarItems

现在我需要将每个文件的路径更改为以下内容:

configuration.files = file1, file2

configuration.files.file1.source      = config/filename1
configuration.files.file2.source      = config/filename2

为了达到这个目的,我试图预先知道这个列表并添加后缀并覆盖现有属性:

vendor/project/config/filename1
vendor/project/config/filename2

这不起作用,我无法弄清楚原因。是否可以使用目标名称,如$ {suffix} .name?如果没有,我怎么能在这里实现我的目标呢?

2 个答案:

答案 0 :(得分:0)

我刚刚为此做了一些解决方法,将属性及其值写入文件,并在循环结束override = true后读取它们:

<target name="_prepend-vendor-path" >
    <exec dir="${project.basedir}" command="echo configuration.files.${file}.source = /vendor/project/${configuration.files.${file}.source} >> ${project.temp.config}" passthru="true" checkreturn="true" />
</target>

在foreach之后简单地说:

<property file="${project.temp.config}" override="true"/>

出于某种原因,这些属性不会在foreach中被覆盖,我只是无法弄清楚原因,但这个小技巧为我做了。

答案 1 :(得分:0)

您可以使用propertyfilterchain,通过regular expression replacement任务,在文件中添加属性值后缀:

total = 0
average = 0
maximum = 0
minimum = 0
counter = 0

while counter < 5:
    input_number = int(input("Enter number: "))
    total += input_number

    if counter == 0:
        minimum = input_number

    if input_number > maximum:
        maximum = input_number
    elif input_number < minimum:
        minimum = input_number

    counter += 1

average = total / 5

print(total, average, maximum, minimum)