问题标签 [typing]

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.

0 投票
2 回答
1015 浏览

java - Java:确定用户是否停止输入

我正在用 Java 创建一个简单的文本编辑器,并且正在尝试添加撤消和重做功能。我希望程序能够确定用户是否停止在文本区域中输入,而不仅仅是他们是否输入了字符。只有当这是他们键入的唯一内容时,程序才应保存单个字符。你会怎么做呢?

0 投票
11 回答
2893 浏览

python - 以静态类型语言实现干净且类型安全的状态机?

我用 Python 实现了一个简单的状态机:

我想将它移植到 C,因为它不够快。但是 C 不允许我创建一个返回相同类型函数的函数。我尝试制作这种类型的函数:typedef *fn(fn)(),但它不起作用,所以我不得不使用结构来代替。现在代码很丑!

所以我认为这是 C 的损坏类型系统的问题。所以我使用了一种具有真实类型系统的语言(Haskell),但同样的问题发生了。我不能只做这样的事情:

我得到错误,Cycle in type synonym declarations

因此,我必须像对 C 代码所做的那样制作一些包装器,如下所示:

为什么用静态类型语言制作状态机这么难?我还必须在静态类型语言中产生不必要的开销。动态类型语言没有这个问题。有没有更简单的方法可以用静态类型语言来做到这一点?

0 投票
3 回答
2112 浏览

java - 我需要做打字导师,从哪里开始?

我正在用java(netbeans)做打字导师。
现在我在 gui 中做了一个键盘。

我想要的一个简单示例:BandA是按钮,您可以在文本字段中键入。

现在有一些课程要做
第 1 课:abb ab abb(示例)

所以A按钮需要变成红色然后你按下AB变成红色你按下B

如何将这些课程导入我的应用程序?(记事本)
我怎样才能A在需要的时候把它变成红色?

我还没有一些代码,因为我不知道从哪里开始。

0 投票
2 回答
1021 浏览

java - 将我的计时器设置为 0:00 并显示经过的时间

我想将我的计时器设置为 0 并显示经过的时间。使用此代码,它会自动从 1:00 开始。但我想自动从 0:00 开始。这是我的代码,它从 1:00 开始。如何将此代码设置为从 0:00 开始的计时器?

0 投票
2 回答
161 浏览

generics - Scala集合中的泛型类

我在 Scala 中创建的泛型类有问题。我有以下课程:

这里可以将 Channel[T,U] 视为将 Occurrence[T] 从 EventSource[T] 传播到 EventSource[U] 的一种方式。仅当过滤器函数为真时才发送事件,如果是,则将事件传递给 map 并发送结果。

这个类似乎可以正确编译和运行。我的问题是我想将多个 Channel 附加到 EventSource[T] 实例,以便它可以将 Occurrences 传播到几个不同类型的不同 EventSource。我的困惑基本上是如何做到这一点:

你在这里是什么?listT 简单地从属于(是其中的成员)的 EventSource 中的类型 T 引用。

抱歉,如果这含糊不清或令人困惑!

编辑:我应该注意到我也希望能够附加到这个列表中,如下所示:

附加是真正的问题吗?

0 投票
2 回答
2753 浏览

haskell - 在 Haskell 中定义逻辑运算符

在我的作业中,我必须按如下方式定义逻辑运算符:
使用此数据结构:

而且我必须定义函数来告诉我给定公式是真还是假,例如,如果我写(Cierto :&: Falso)答案必须是:Falso

根据我的老师的说法,在这种情况下必须调用函数:&:并且必须接收MyBool类型,所以我尝试像这样实现:

但是当我尝试加载它时,它说:

我不知道我在这里做错了什么。

0 投票
5 回答
3695 浏览

c# - C# 转换为接口

是否可以定义如何将内置对象转换为 C# 中的接口?接口不能定义操作符。我有一个非常简单的界面,允许索引访问,但不允许突变:

我希望能够将 aDictionary<K, V>转换为ILookup<K, V>. 在我理想的梦想世界中,这看起来像:

我制定的解决方法是这样的:

这行得通,意味着我现在可以直接从 Dictionary 转换为 ILookup,但是男孩感觉很复杂......

有没有更好的方法来强制转换为接口?

0 投票
1 回答
389 浏览

applescript - 如何使用打字脚本绕过粘贴块(在 Mac 上)

我需要使用 Microsoft 的远程桌面连接将 RDC 接入限制使用系统,并且我有一台 Mac。在 Windows 系统上,我不允许复制(合理,以保护机密数据)或粘贴,这是不合理的,因为我经常会从其他地方获得一些我希望在系统上拥有的片段代码。

但是,我显然可以打字。我的问题是,这种情况的最佳做法是什么?

我的猜测:使用键盘快捷键后,我可以让 AppleScript 在剪贴板上“键入”所有内容吗?

0 投票
2 回答
7515 浏览

java - Object.intValue() 的奇怪行为

我正在努力解决一个问题,我不明白为什么它不起作用。如何通过变量传递double obj并转换为int
为什么它在顶部代码片段中不起作用,但它在该行下方的底部代码片段中起作用?

唯一的区别似乎是添加了一个额外的变量,它也被键入为double?

0 投票
2 回答
3633 浏览

c++ - 将 sleep() 与 rand() 一起使用,在 C++ 中出现错误

我正在尝试创建一个涉及“计算机”输入给您的游戏。我无法获得打字效果而不是自动出现输出。如果有人有任何建议来实现这一点,我愿意接受想法,因为我是 C++ 的新手。

所以我试图在 sleep 方法中生成一个随机数,如下所示:

很简单。可能太简单了哈哈。但我收到错误消息:“表达式必须具有算术或枚举类型。”

我实现打字效果的想法是循环输出的每个字符加上这个睡眠方法,直到没有更多的输出。这显示为:

谢谢你的帮助!!!