Por que o split ('') está tentando ser (também) inteligente?

Acabei de descobrir o seguinte comportamento estranho comString#split:

"a\tb c\nd".split
=> ["a", "b", "c", "d"]

"a\tb c\nd".split(' ')
=> ["a", "b", "c", "d"]

"a\tb c\nd".split(/ /)
=> ["a\tb", "c\nd"]

A fonte (string.c de 2.0.0) tem mais de 200 linhas e contém uma passagem como esta:

/* L 5909 */
else if (rb_enc_asciicompat(enc2) == 1) {
    if (RSTRING_LEN(spat) == 1 && RSTRING_PTR(spat)[0] == ' '){
        split_type = awk;
    }
}

Mais tarde, no código para oawk tipo de divisão, o argumento real não é usado ainda mais e faz o mesmo que um simplessplit.

Alguém mais sente que isso está de alguma forma quebrado?Existem boas razões para isso?A “mágica” assim acontece com mais frequência do que a maioria das pessoas pensa em Ruby?

questionAnswers(2)

yourAnswerToTheQuestion