[#65451] [ruby-trunk - Feature #10333] [PATCH 3/1] optimize: "yoda literal" == string — ko1@...

Issue #10333 has been updated by Koichi Sasada.

9 messages 2014/10/07

[ruby-core:65808] [CommonRuby - Feature #10084] [Assigned] Add Unicode String Normalization to String class

From: nagachika00@...
Date: 2014-10-20 01:25:26 UTC
List: ruby-core #65808
Issue #10084 has been updated by Tomoyuki Chikanaga.

Status changed from Closed to Assigned

Sorry, I accidentally close this ticket.

----------------------------------------
Feature #10084: Add Unicode String Normalization to String class
https://bugs.ruby-lang.org/issues/10084#change-49548

* Author: Martin D=C3=BCrst
* Status: Assigned
* Priority: Normal
* Assignee: Martin D=C3=BCrst
* Category:=20
* Target version: Ruby 2.2.0
----------------------------------------
Unicode string normalization is a frequent operation when comparing or norm=
alizing strings.

This should be available directly on the String class.

The proposed syntax is:

   'string'.normalize       # normalize 'string' according to NFC (most fre=
quent on the Web)
   'string'.normalize :nfc  # normalize 'string' according to NFC; :nfd, :n=
fkc, :nfkd also usable
   'string'.nfc             # shorter variant, but maybe too many methods

There are several "unofficial" but convenient normalization variants that c=
ould be offered, e.g.:
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20
   'string'.normalize :mac  # use MacIntosh file system normalization varia=
nt

Implementations are already available in pure Ruby (easy for other Ruby imp=
lementations; e.g. eprun: https://github.com/duerst/eprun) and in C (unf,=
=E2=80=A6, http://bibwild.wordpress.com/2013/11/19/benchmarking-ruby-unicod=
e-normalization-alternatives/)

---Files--------------------------------
Normalization.pdf (576 KB)


--=20
https://bugs.ruby-lang.org/

In This Thread

Prev Next