Ne yazık ki, bir makinenin düzgün şekilde yukarı / aşağı / büyük harfle yazması imkansızdır. Bir bilgisayarın anlaması için çok fazla bağlamsal bilgiye ihtiyacı var.
Bu nedenle Ruby'nin Stringsınıfı yalnızca ASCII karakterleri için büyük harf kullanımını destekler, çünkü orada en azından biraz iyi tanımlanmıştır.
"Bağlamsal bilgi" ile neyi kastediyorum?
Örneğin, idoğru şekilde büyük harf yazmak için metnin hangi dilde olduğunu bilmeniz gerekir. Örneğin İngilizce'de yalnızca iki is vardır: Inoktasız büyük harf ve noktalı küçük i. Ancak Türkçede dört is vardır: Inoktasız büyük İharf, ınoktalı büyük, noktasız küçük i, noktalı küçük . Yani, İngilizce 'i'.upcase # => 'I've Türkçe olarak 'i'.upcase # => 'İ'. Başka bir deyişle: 'i'.upcasedile bağlı olarak iki farklı sonuç döndürebildiğinden, dilini bilmeden bir kelimeyi doğru bir şekilde büyük harfle yazmak imkansızdır.
Ama Ruby dili bilmiyor, sadece kodlamayı biliyor. Bu nedenle, Ruby'nin yerleşik işlevselliği ile bir dizeyi uygun şekilde büyük harfle yazmak imkansızdır.
Bu da kötüleşiyor: Hatta ile dilini bilmeden, düzgün harf yapmak bazen imkansızdır. Örneğin, Almanca'da 'Maße'.upcase # => 'MASSE'( Maße , ölçüm anlamındaki Maß'ın çoğuludur ). Ancak, ( kütle anlamına gelir ). Peki nedir ? Başka bir deyişle: doğru bir şekilde büyük harf kullanımı tam gelişmiş bir Yapay Zeka gerektirir.'Masse'.upcase # => 'MASSE''MASSE'.capitalize
Yani, yerine bazen yanlış cevap verme, bazen Yakut seçer hiçbir cevap vermek hiç ASCII olmayan karakterler basitçe işlemleri yararlanmak / upcase / downcase göz ardı olsun neden. (Elbette ki yanlış sonuçlar da okur, ancak en azından kontrol etmesi kolaydır.)