Основное решение проблемы такого рода использует ключевое слово register
для сохранения результата задачи, а затем проверяет результат в выражении changed_when
.
В вашем случае мы не можем использовать только код возврата, чтобы решить это, но мы могли бы просто проверить стандартный вывод, который, исправьте меня, если я ошибаюсь, должен быть пустым только в случае успешного выполнения команды test
.
Пример:
- name: install python 2
become: yes
raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
register: command_result
changed_when: command_result.stdout | length > 0
public function zeroPad(number:int, width:int):String {
var ret:String = ""+number;
while( ret.length < width )
ret="0" + ret;
return ret;
}
/**
* originally by Chris Agiasotis @ http://agitatedobserver.com/as3-currency-formatter/
* improved by Joseph Balderson @ http://www.joeflash.ca
*/
package
{
public class CurrencyFormat
{
public function CurrencyFormat(){ }
public function getCurrency(num:Number,
decimalSeparator:String=".",
decimalPlace:Number=2,
currency:String="$",
thousandsSeparator:String=","
):String
{
//assigns true boolean value to neg in number less than 0
var neg:Boolean = (num < 0);
//make the number positive for easy conversion
num = Math.abs(num)
var roundedAmount:String = String(num.toFixed(decimalPlace));
//split string into array for dollars and cents
var amountArray:Array = roundedAmount.split(".");
var dollars:String = amountArray[0]
var cents:String = amountArray[1]
//create dollar amount
var dollarFinal:String = ""
var i:int = 0
for (i; i < dollars.length; i++)
{
if (i > 0 && (i % 3 == 0 ))
{
dollarFinal = thousandsSeparator + dollarFinal;
}
dollarFinal = dollars.substr( -i -1, 1) + dollarFinal;
}
//create Cents amount and zeros if necessary
var centsFinal:String = String(cents);
var missingZeros:int = decimalPlace - centsFinal.length;
if (centsFinal.length < decimalPlace)
{
for (var j:int = 0; j < missingZeros; j++)
{
centsFinal += "0";
}
}
var finalString:String = ""
if (neg)
{
finalString = "-"+currency + dollarFinal
} else
{
finalString = currency + dollarFinal
}
if(decimalPlace > 0)
{
finalString += decimalSeparator + centsFinal;
}
return finalString;
}
}
}
Я поддерживаю printf в AS3: К сожалению, переполнение стека не позволяет мне публиковать ссылки, но если название проекта кода Google - printf-as3
Обратная связь всегда приветствуется.
-