如何用示例向非技术测试人员解释排序(数字、字典和排序规则)?

2024-01-07

我需要用法语和西班牙语的名字和姓氏来解释差异。任何指示表示赞赏。我进行了谷歌搜索,但结果并不令人满意。


以下是一些解释:

词典编法

在这种情况下,您可以对文本进行排序而不考虑数字。事实上,数字只是“字母”,它们没有数字组合的意义。

这意味着文本“ABC123”按字母 A、B、C、1、2 和 3 排序,而不是先按 A、B、C 再按数字 123 排序。

这会带来不幸的后果,即订购可能会look就像他们应该像数字一样排序。

例如,当对这两个进行排序时:

ABC90
ABC100

您可能期望 90 的排序在 100 之前,因为 90 排在 100 之前,但这不是字典顺序的工作原理,它将 9 与 1 进行比较,然后交换它们。

自然排序

通过将 90 排在 100 之前,这种排序可以使上述排序正常工作。如果在两个文本中都遇到数字,则自然排序会切换到文本部分的数字排序。

基于排序规则的排序

这个处理诸如语言之间的差异之类的事情。

通常,字典顺序将一个字母与另一个字母进行比较,并通常根据字母的“值”确定它们的顺序。这可能会产生一些奇怪的效果。

例如,您认为以下两个字符串将如何排序?

ABCTEN
ABCßEN

好吧,由于 ß 的字母可能具有比 T 更高的序数值(即它在 Unicode 字母表中的“位置”),因此上述顺序就是结果。基本上,如果您查看包含所有字母的 Unicode 图表,您可能会发现 T 的符号值小于 100,而 ß 大于 100。

但是,在德国,您应该将上述两个文本视为:

ABCTEN
ABCSSEN

因此它们的顺序应该颠倒,因为 S 在 T 之前。

这是基于排序规则的排序。您为文本选择一个排序规则,该排序规则描述了应在其中处理这些文本的上下文。这使您能够以不同的语言获得自然的排序。

例如,在挪威,字母 Æ、Ø 和 Å 直接排在 Z 之后,但在其他语言中(我忘了是哪一种),Æ 应该排在 E 之后,Ø 应该排在 O 之后,Å 应该排在 A 之后。整理表明了这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用示例向非技术测试人员解释排序(数字、字典和排序规则)? 的相关文章

  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 从 SpecFlow 设置 Nunit TimeoutAttribute

    我已经使用 SpecFlow 编写了几个长时间运行的端到端集成测试 但由于 Nunit 超时 它们失败了 将 Timeout x 属性添加到 TestFixture 可以解决问题 但当然每次功能更新时都会被覆盖 如何以 SpecFlow 尊
  • Sorted(key=lambda: ...) 背后的语法[重复]

    这个问题在这里已经有答案了 我不太明白背后的语法sorted 争论 key lambda variable variable 0 Isn t lambda随意的 为什么是variable在看起来像的内容中陈述了两次dict 我认为这里的所有
  • 如何对字符串列表进行排序?

    在 Python 中创建按字母顺序排序的列表的最佳方法是什么 基本回答 mylist b C A mylist sort 这会修改您的原始列表 即就地排序 要获取列表的排序副本而不更改原始列表 请使用sorted http docs pyt
  • 如何更改我的应用程序的语言[重复]

    这个问题在这里已经有答案了 可能的重复 在 Android 中以编程方式更改语言 https stackoverflow com questions 2900023 change language programatically in an
  • “foreach”循环中会发生什么样的本地化?

    来自 perldocperlsyn http perldoc perl org perlsyn html Foreach Loops关于 Foreach 循环的主题 如果变量之前是 用 my 声明 它使用 变量而不是全局变量 但它仍然局限于
  • 如何在 XSLT 中应用字母数字排序

    根据以下 XML 在 XSL 中实现字母数字排序的最佳方法是什么 Edit 澄清一下 下面的 XML 只是一个简单的示例 真正的 XML 将包含更多的变体值 使用将标签文本拆分为文本和数字部分substring before and sub
  • 如何限制Cargo.toml中的测试线程数?

    我的测试共享公共资源并且无法同时执行 这些测试失败cargo test 但与RUST TEST THREADS 1 cargo test 我可以修改测试以等待全局互斥体 但如果有任何更简单的方法来强制 我不想让它们混乱cargo为我设置这个
  • jest 无限期挂起,不运行任何测试

    每次我运行 jest 时它都不会运行任何东西 我已经让计数器任意升高 我用 no cache 运行 jest jest debug 输出如下 configs automock false browser false cache true c
  • Rails 没有选择 en.yml 中的自定义日期和时间格式

    我对 Rails 中的 I18N 不太熟悉 所以请耐心等待 尝试设置自定义日期和时间格式 config locales en yml en date formats long dateweek A B d Y time formats ve
  • 如何使用资源文件设置按钮文本

    我已在测试项目下创建资源文件 但不在 App GlobalResources 下创建 如何使用资源文件设置按钮文本 例如
  • \d 只匹配0-9位数字?

    据我所知 d应该匹配非英文数字 例如 但它在 JavaScript 中不能正常工作 看这个jsFiddle http jsfiddle net xZpam http jsfiddle net xZpam 这是正常行为吗 JavaScript
  • CakePHP 控制器测试:模拟 Auth 组件

    情况 控制器代码
  • 跳过测试文件 Jest 中的一项测试

    我正在使用 Jest 框架并有一个测试套件 我想关闭 跳过其中一项测试 谷歌搜索文档没有给我答案 您知道答案或需要检查的信息来源吗 我在这里找到了答案 https devhints io jest https devhints io jes
  • Mockito、argThat 和 hasEntry

    tl dr 这些测试无法编译 因为类型参数不匹配 我应该做哪些更改才能使它们编译并运行 正确吗 https github com wesleym matchertest https github com wesleym matchertes
  • 快速排序优化

    我正在学习排序算法 下一步 我试图让我的实现接近std sort 到目前为止我还很远 我有 3 个快速排序的实现 标准快速排序 使用临时数组 quicksort with following optimizations median3 用于
  • WPF - 按多列排序时使用自定义比较器

    我有一个 ListView GridView 我想按 2 列排序 因此如果第 1 列中有 2 个以上的项目具有相同的值 它将按第 2 列排序 非常简单 但是在对 A Z 进行排序时 空字符串会出现在顶部 我想把它们移到底部 我制作了一个比较
  • 找出区间内绝对差值最小的两个元素

    我给定了一个数组和一个 L R 类型的查询列表 这意味着找到任何两个数组元素之间的最小绝对差 使得它们的索引在 L 和 R 之间 其中数组的起始索引是 1 而不是 0 例如 采用包含元素 2 1 8 5 11 的数组 a 则查询 1 3 将
  • Django:如何为应用程序添加中文支持

    我正在尝试将中文添加到我用 Django 编写的应用程序中 但我确实遇到了困难 我花了半天时间尝试了不同的方法 但没有成功 我的应用程序支持几种语言 这是设置 py file TIME ZONE Europe Dublin LANGUAGE

随机推荐