gpt4 book ai didi

Perl 6 和打印列

转载 作者:行者123 更新时间:2023-12-03 09:32:09 24 4
gpt4 key购买 nike

Perl 6 是否有与 Unicode::GCString 等价的东西?的columns方法?

Perl 5 示例:

#!/usr/bin/env perl
use warnings;
use strict;
use 5.10.0;
use utf8;
use open qw( :std :utf8 );
use Unicode::GCString;

my $s = '合'; # U+5408

say length $s; # 1

my $gcs = Unicode::GCString->new( $s );
say $gcs->columns; # 2

最佳答案

Perl6 具有内置的 Unicode 支持,具有原生 Uni 和 NFC/NFD/NFKC/NFKD 规范化类型。

我隐约明白的是,Unicode::GCString::columns 方法决定了东亚语言的换行支持。
合由彼此重叠的 2 个“音节”(他们称之为“字素簇”)组成,因此是 2 列。

话虽如此,perl6 内部(在 MoarVM 级别)可以访问存储换行属性的 unicode 数据库,但据我所知,目前没有模块,如 Unicode::UCD 可用于使 East_Asian_Width 属性可用于类似 a Unicode::GCString。

另一方面,将 Unicode::LineBreak 转换为 perl6 看起来很容易,通过 NativeCall 访问 sombok 库。

关于Perl 6 和打印列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31250503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com