问题标签 [ord]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 在 Haskell 中按总值(距离?)对非数字元组进行排序
编辑:我刚刚意识到这根本不会解决问题,除了集合中每个条目的列表(即,如果列表不包含 e,则获得比较值(a,e)
并且根本不会帮助我,但是(b,d)
确实包含 f)。德普。也就是说,Haskell 中有序但非数字集的距离比较问题仍然是 IMO 有趣的,所以......
我必须写一个函数
它从 x i < x j和 i < j的列表中返回所有对 (x i , x j )。
这对于列表推导非常简单。现在,我需要它排序,并且我需要它按元组的“顺序”排序。也就是说,组合顺序 - (a,z) 需要在 (b,c) 之后很长一段时间。对于整数,这很容易 - 将 x i添加到 x j并将其用于比较。
然而,这已经结束了Ord
,所以这个函数必须接受像字符这样令人讨厌的东西,而在 Haskell 中,我所知道的只是GT
,LT
或EQ
- 而不是多少GT
。有没有办法让 Haskell 说
Z
大于 25A
或类似的东西?或者关于如何排序的任何其他想法?
(实际任务涉及满足谓词,即对于任何xs
作为另一个列表前缀的列表ys
,pairs xs
它是 的前缀pairs ys
。我只是觉得在生成列表后对列表进行排序可能是要走的路。EDIT2:解决了它通过向后迭代列表,对于那些想知道的人。)
python - Python ord函数中的多个字符
编程初学者在这里。(Python 2.7)
是否可以解决 Python 的 ord 函数使用多个字符的问题?
例如,我有一个十六进制字符串 '\xff\x1a',我想要它的十进制值,以便我可以将它与其他十六进制字符串相加。但是 ord 只接受一个十六进制字符串字符。
谢谢!
rust - 为一个类型实现 Ord 很尴尬?
我有一个新类型,我想实现Ord
:
当我尝试比较我的类型的两个变量时,出现错误:
当我实现PartialEq
,Eq
和PartialOrd
( gt()
, lt()
, eq()
, ge()
, le()
, 等) 时,一切正常,但如果我提供了cmp
,我们可以推断出lt()
和eq()
!这是多余的!我不喜欢这个!
在查看文档时,我在以下定义中看到了这一点Ord
:
这看起来像 trait 继承自Eq
and PartialOrd
。为什么 trait 不能使用该函数从继承的 trait 中为所需方法提供默认实现cmp
?我不知道特征的继承是如何工作的,搜索没有任何用处,但我认为这应该是可能的。
这在 Rust 中是如何完成的?我希望不是这样...
bash - ORD 和 CHR 在 Bash 中的文件
我构建ord
和chr
运行,它们工作得很好。但是,如果我采用包含 的文件,\n
例如:
当我ord
什么都没有得到任何新的行值时。这是为什么?我正在用 Bash 写作。
这是我正在使用的代码:
python - python ord没有按预期工作
所以我正在为软件工程课程做一个移至前端编码/解码作业,当使用 Python 3.3 的内置 ord() 函数时,它似乎在我的代码中的某个点返回了错误的值。
当我们想要对 1-120 的编码数字进行编码时,只需将该代码数字添加到 128。对于 121 和 375 之间的数字,我们使用两个字节,第一个是 F9 表示后面的一个字节是代码数字的一部分,第二个是实际的代码编号(使用代码# - 128 编码)。因此,例如 121 将是 F9 00。
解码时我遇到了一个问题,在读取 F9 并进入解码第二个字节的代码后,我遇到了 ord 函数的问题。
我的代码是:
它似乎工作正常,直到它达到 134 的编码,这应该是 F9 0D。ord(input_file.read(1)) 调用返回 10 而不是应有的 13。我已经确认在我试图解码的 mtf 文件中,hexdump 确实显示了我遇到问题的 F9 0D。对于我正在处理的当前测试用例,它仅以 0D 作为双字节代码的第二个字节出现。0C 和后面工作正常,0E 和前面都工作正常。
关于可能导致这种情况的任何想法?还是解码两个字节码数的替代方法?
编辑:我忘了提到 mtf 文件将被编码为 latin-1。如果这有所作为。
python - Python:如何将列表中的所有值转换为它们的 ascii 值?
返回 ord() 预期长度为 1 的字符串,但找到列表
python - 将 ASCII 值加在一起。Jython/Python
我需要得到“计算机”这个词。将每个字母转换为其对应的 ASCII 值(使用 For 循环)。然后将各个 ASCII 值相加得到总和。
我在启动程序时输入“COMPUTER”作为“文本”的参数。
所以认为计算机 = 文本
到目前为止我所拥有的:
- 文本输入为“计算机”
- 对于“计算机”中的每个字符
- 将每个字符转换为其 ASCII 值
- 将值相加
- 收到总和
- 打印总和
请使用没有导入功能的简单代码。
我正在使用 Jython,但 python 响应也可以!
delphi - 获取 Alt+Numeric Keypad 的键码以在 SendKeys 中使用
(我正在尝试使 Internet 上的 SendKeys 代码与扩展字符一起使用。)Sendkeys 是对 VB SendKeys 的模仿。我在 Internet 上看到了几种算法,以及 Delphi 7 附带的一种。我的程序使用它来将击键发送到其他程序,以使数据输入更快、更一致。除了 Ord() 报告的数字超过 255 的字符外,它运行良好。
自从发布这个问题后,我发现 Character Map 报告 Alt+0128 到 Alt+255。事实证明,Ord() 只报告了 26 个这样的字符,看起来是一个 unicode 值。所以我现在有一个丑陋的解决方法,只是将 Ord() 报告的值替换为 Character Map 报告的备用值,较低的值。所以我的 Sendkeys 现在看起来与记事本中的 Ansi 编码兼容。
我希望进行像 AnsiChar() 这样的简单字符转换,但这会产生完全错误的 Ord() 值。
对于所有这些问题,我都使用 Delphi XE2 和 Arial 字体。Windows 字符映射实用程序报告 Alt + 0147 创建了“左双引号”。
这个组合键在 Delphi 控件、记事本和 Word 中提供“字符”。
我所有的互联网研究都说使用 Ord() 来确定字符的数值:
但这会返回 8220,而不是 0178。Alt+8220 在记事本和 Delphi 控件中产生 ∟,但在 Word 中仍然产生“。
这显然与 Ansi 与 Unicode 有关,但我不知道如何在 Delphi 中编写一个返回 0178 而不是 8220 的函数。
iConv 不会有帮助,因为目标是拥有一个独立的程序。谢谢。
python - Python:使用追加将列表中的字符串值更改为 ascii 值
我试图弄清楚如何生成一个列表(对于每个字符串),一个代表每个字符串中字符的 ASCII 值列表。
例如。改变“你好”,“世界”,使其看起来像:
到目前为止,这是我的代码:
我知道它不起作用,但我正在努力使其正常运行。任何帮助将非常感激。谢谢
rust - 如何为结构实现 Ord?
我见过一个与这个类似的问题,但没有人能准确地告诉我如何Ord
为结构实现。例如,以下内容:
这给了我错误:
我将如何解决这个问题?我尝试将实现更改为:
并添加适当的partial_cmp
和eq
功能,但它给了我这两种方法都不是成员的错误Ord
。