Поскольку у вас нет (обычно) объектов OO-стиля в Haskell, странно думать о том, что данные самосознательны. Важно отметить, что вы обычно не используете агрегацию в типах данных Haskell, предпочитая композицию.
Возможно, вы захотите изучить XMonad , чтобы увидеть, соответствует ли их дизайн ваши потребности (код на удивление читается).
Вы также можете захотеть перестроить свой дизайн, чтобы вам никогда не приходилось смотреть выше вас (например, передавая детям «обратные вызовы»).
Вы также можете посмотреть, можете ли вы написать молнию для всего графика.
String.replace()
является находящимся в regexp; если Вы передадите в строке как первый аргумент, regexp, сделанный из него, не будет включать вЂg’ (глобальный) флаг. Эта опция важна, если Вы хотите заменить все происшествия строки поиска (который обычно является, что Вы хотите).
альтернатива идиома non-regexp для простой глобальной строковой замены:
function string_replace(haystack, find, sub) {
return haystack.split(find).join(sub);
}
Это предпочтительно, где эти find
строка может содержать символы, которые имеют нежелательное особое значение в regexps.
Во всяком случае, любой метод хорошо для примера в вопросе.
Хороший сводка . Это - базирующийся regexp при использовании regexp нотации, можно определить меня и g модификаторы (нечувствительный к регистру (i), который будет соответствовать независимо для преобразования регистра и глобальный (g), который заменит все происшествия), если Вы будете использовать строковую нотацию, это будет преобразовано в regex и Вас привычка' быть в состоянии определить любой модификатор.
<script type="text/javascript">
var str1="Visit Microsoft!";
var str2 = str1.replace(/microsoft/i, "W3Schools"); //Will work, per the i modifier
var str3 = "original READ ONLY";
var str4 = str3.replace("ONLY", "WRITE"); //Will also work
</script>
ConcurrentBag<T>
. но в действительности с такой библиотекой высокого уровня как PLINQ это редко необходимо.
– Andrey
16 February 2011 в 19:12
Я предпочитаю подход regex,
newstring = oldstring.replace (/regexforstringtoreplace/, 'новая строка');
его также достойный рассмотрения g и я regex модификаторы, они делают глобальную замену (т.е. заменяет все случаи), и делает его нечувствительным к регистру.
, например:
<script type="text/javascript">
var str = "this is a String";
document.write(str.replace(/\s/g, "_"));
would print: this_is_a_string
document.write(str.replace(/s/gi, "f"));
would print "thif if a ftring"
</script>
stringObject.replace(findstring,newstring)