Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, Lloyd, Вы писали:
L>>Здравствуйте, _d_m_, Вы писали:
H>>>>Незачем упрощать этот код на C#, он и так понятен (в языках с PM можно переписать несколько иначе). Можно лишь привести к виду где лишь один вызов string.Format.
___>>>Как?
L>>Завести переменную для форматной строки. L>>В зависимости от условий присвоить переменной то или иное значение. L>>Использовать форматную строку в string.Format
L>>
___>И где здесь PM?
Ключевые слова выделены жирным. Очевидно, что C# не входит во множество языков с поддержкой сопоставления с образцом на уровне синтаксиса, так что кода на нем не приведу. Если интересует, как поможет здесь PM, то код будет примерно таким:
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, _d_m_, Вы писали:
L>>>В коде получения форматной строки.
___>>И где код?
L>Там же, где и PM
Если нечего ответить по существу то может и не надо разводить игру в вопросы и загадки как ты постоянно делаешь.
Я жду примера кода с PM от hardcase или от кого-то тоже адекватного.
Здравствуйте, _d_m_, Вы писали:
___>>>И где код?
L>>Там же, где и PM
___>Если нечего ответить по существу то может и не надо разводить игру в вопросы и загадки как ты постоянно делаешь.
А может это лучше тебе начать читать то, что тебе пишут и перестать прикидываться дурачком?
___>Я жду примера кода с PM от hardcase или от кого-то тоже адекватного.
Здравствуйте, Lloyd, Вы писали:
___>>Если нечего ответить по существу то может и не надо разводить игру в вопросы и загадки как ты постоянно делаешь.
L>А может это лучше тебе начать читать то, что тебе пишут и перестать прикидываться дурачком?
Ты лично не написал ничего информативного, только всякую пургу, впрочем как обычно.
Здравствуйте, _d_m_, Вы писали:
L>>А может это лучше тебе начать читать то, что тебе пишут и перестать прикидываться дурачком?
___>Ты лично не написал ничего информативного, только всякую пургу, впрочем как обычно.
Я указал, как можно устранить вызов множественного string.Format
Если у тебя были сложности с извлечением информации из того поста, то боюсь, "проблемы на вашей стороне".
int 1=0
if ( condition1 ){I=1}
if ( condition2 ){I+=2}
Select Case I
Case 0 return string.Format( "x:{0:N3} y:{0:N3}", p[1], p[0] );
Case 1 return string.Format( "{0}-{1}", p[1], p[0] );
Case 2 return string.Format( "{0:N3}", p[1] );
Case 3 return string.Format( "{0}", p[1] );
End Select
Возможно и напутал в последовательности.. И не знаю операторов C#, но ход мысли такой.. С форматированием тоже не знаком.. Что там написано не пойму, но возможно часть тоже можно поготовить заранее.. Мне кажется в таком виде будет и наглядней и при случае можно что-то изменить, да и условий добавить.. И отлаживать легче...
Здравствуйте, batu, Вы писали:
B>Возможно и напутал в последовательности.. И не знаю операторов C#, но ход мысли такой.. С форматированием тоже не знаком.. Что там написано не пойму, но возможно часть тоже можно поготовить заранее.. Мне кажется в таком виде будет и наглядней и при случае можно что-то изменить, да и условий добавить.. И отлаживать легче...
Взаимноисключающие параграфы детектед Остается только гадать что делать в Default-случае, ибо в исходном коде ситуации таковой небыло.
Идея с конечным автоматом хороша лишь при условии, что подобный автомат строится машиной, а не человеком. Добавлять дополнительные состояния в него — сущий ад.
Здравствуйте, Lloyd, Вы писали: L>Здравствуйте, batu, Вы писали: L>
Скрытый текст
B>>int 1=0 B>>if ( condition1 ){I=1} B>>if ( condition2 ){I+=2} B>>Select Case I B>> Case 0 return string.Format( "x:{0:N3} y:{0:N3}", p[1], p[0] ); B>> Case 1 return string.Format( "{0}-{1}", p[1], p[0] ); B>> Case 2 return string.Format( "{0:N3}", p[1] ); B>> Case 3 return string.Format( "{0}", p[1] ); B>>End Select
B>>Мне кажется в таком виде будет и наглядней и при случае можно что-то изменить, да и условий добавить.. И отлаживать легче... L>Предположим, добавился condition3. В этом случае переписывать придется все case-ы.
Это зависит от того на что будет влиять condition3. Редактировать If-ы по любому будет муторней
Здравствуйте, batu, Вы писали:
B>>>Мне кажется в таком виде будет и наглядней и при случае можно что-то изменить, да и условий добавить.. И отлаживать легче...
L>>Предположим, добавился condition3. В этом случае переписывать придется все case-ы. B>Это зависит от того на что будет влиять condition3. Редактировать If-ы по любому будет муторней
Нет, и редактировать, и читать if-ы проще, т.к. в случае if-ов не нужно пересчитывать из condition-ов в соответствующие номера и наоборот.
Здравствуйте, hardcase, Вы писали:
H>Здравствуйте, batu, Вы писали:
B>>Это зависит от того на что будет влиять condition3. Редактировать If-ы по любому будет муторней
H>C If-ами поток управления очевиден. С арифметикой — нет.
Я не говорил что выбрал удачно арифметику.. На кухне рис готовился.. Но по любому больше двух уровней If-ов создают напряжение. Это вроде как в линейку.. Проще отследить.. Если у вы считаете по другому имеете право. Меня лично большое количество If-ов грузят. Я даже термин придумал "логическая сложность". И даже придумал как избавится от этих дел применяя события. Получается проще.. логически проще..
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, batu, Вы писали:
B>>>>Мне кажется в таком виде будет и наглядней и при случае можно что-то изменить, да и условий добавить.. И отлаживать легче...
L>>>Предположим, добавился condition3. В этом случае переписывать придется все case-ы. B>>Это зависит от того на что будет влиять condition3. Редактировать If-ы по любому будет муторней
L>Нет, и редактировать, и читать if-ы проще, т.к. в случае if-ов не нужно пересчитывать из condition-ов в соответствующие номера и наоборот.
Ну-ну.. А наоборот то зачем? Вот когда таких If-ов будет много.. И надо в каждую ветку въезжать и отлаживать.. Вспомнишь этот вариант.. Тут прелесть в том, что все ветки независимы.. И редактируются незавсимо.. И ничего не напортишь нечаянно рекдактируя в другой ветке..
Здравствуйте, batu, Вы писали:
L>>Нет, и редактировать, и читать if-ы проще, т.к. в случае if-ов не нужно пересчитывать из condition-ов в соответствующие номера и наоборот. B>Ну-ну.. А наоборот то зачем?
Существует мнение, что код чаще читают, чем пишут. Вот для таких случаев и нужна обратная конвертация.
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, batu, Вы писали:
L>>>Нет, и редактировать, и читать if-ы проще, т.к. в случае if-ов не нужно пересчитывать из condition-ов в соответствующие номера и наоборот. B>>Ну-ну.. А наоборот то зачем?
L>Существует мнение, что код чаще читают, чем пишут. Вот для таких случаев и нужна обратная конвертация.
Правильное мнение.. И редактируют тоже..Но зачем тут обратная?.. Так же сверху вниз и читается.. Вот и If-ами приходитися вверх-вниз и обратно.. и не один раз пока въедешь. Или я не понял смысла слова "обратная конвертация". Это как?