Здравствуйте, Аноним, Вы писали:
А>У меня вопрос о правильности функционирования #pragma indent
А>Если вы заметите, то осталось несколько {} и убрать их не получается не потеряв в читабельности. А если просто убрать, то ошибки компиляции вылазят. В чем причины и как бороться с этим?
А>#pragma indent
А>...
А> def listRuleTokenWithNamedLinkToListString(RuleToken)
А> {
А> RuleToken.Filter(ruleSourceTokens => ruleSourceTokens.RuleTokenValue is TRuleTokenValue.NamedLink)
А> .Map(token => token.RuleTokenValue.getNameOrValue())
А> }
Тут проблем быть не должно. Просто убирай скобки, а при переносе строк используй "\".
А> !Rules.ToArray().ForAll( (ruleSource, ruleDestination) =>
А> {
А> def correctIdentificators = listRuleTokenWithNamedLinkToListString(ruleSource);
А> def DestinationPartOfRule=listRuleTokenWithNamedLinkToListString(ruleDestination);
А> DestinationPartOfRule.ForAll(correctIdentificators.Contains)
А> });
Тут придется использовать не макрос =>, а базовый синтаксис лямбд:
fun(ruleSource, ruleDestination)
def correctIdentificators = listRuleTokenWithNamedLinkToListString(ruleSource);
def DestinationPartOfRule=listRuleTokenWithNamedLinkToListString(ruleDestination);
DestinationPartOfRule.ForAll(correctIdentificators.Contains)
А>И самое главное: Какие правила? В каких случаях нужно ставить {}, а в каких нет?
Да когда хочешь тогда и ставь. Вот только если врубил скобки, то внутри уже нужно со скобками жить.