问题标签 [squirrel]

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 回答
272 浏览

squirrel - 将基数为 10 的整数解析为 Squirrel 中的基数 16

我应该如何在 Squirrel 中进行基数 10 到基数 16 的整数转换?在 Javascript 中,我可以这样做parseInt("ff", 16)

我正在尝试为 Electric Imp 的 RGB 计算器做一个十六进制颜色代码。#ffaacc将分为 3 个部分(ffaacc。然后我会计算这些以 10 个整数为基数并实现 RGB(255, 170, 204)。然后我将使用这些数字来控制带 PWM 的 RGB LED。

0 投票
1 回答
814 浏览

java - C++/JNI - 向量和数组、C++ 或 JNI 问题中的存储对象 (jobject) 意外更改?

所以首先是一些背景:

我一直致力于用 JNI 为 Java 包装一个 C++ 库,特别是 Squirrel 脚本语言。当我需要将本机函数传递给 Squirrel 虚拟机时,问题就来了。Squirrel 要求一个函数是一个 SQFUNCTION,该函数定义为一个以 HSQUIRRELVM 作为参数并返回 SQInteger 的函数,但请记住,我是为 Java 包装它的。我可以让 C++ 从一个作业中调用一个 Java 方法就好了,但是我需要将该调用包装在一个 lambda 函数中,以便将它实际传递给 Squirrel。通常我会将 [=] 作为 lambda 捕获,因此它可以引用我的变量,但是由于某种原因我完全不确定,捕获变量会更改 lambda 函数的类型,并且它不再被识别为 SQFUNCTION。我最近的方式 我们决定使用常量向量或数组来解决这个问题,以便 lambda 可以访问它。我告诉 Squirrel 对象存储在向量/数组中的哪个位置,并让 lambda 从 Squirrel 获取该值以访问它。问题在于:在正确的插槽中有一个对象,但不是我放在那里的对象。

问题变成了我对 C++ 或 JNI 的经验并不丰富,而且我搜索的任何内容都没有告诉我这是什么类型的问题。我已经尝试存储对象和指向对象的指针,但是这两种方法都产生了相同的结果。我正在存储 的实例,JSqTestFunc但代码正在检索JSqVM. 除了与 Squirrel 交互之外,这两个类的唯一共同点是它们扩展了 Object,否则它们完全不相关。

我想我的问题应该是多个部分:

  1. 这是 C++ 问题还是 JNI 问题?
  2. 我怎样才能解决这个问题?

我觉得这一定是一个 JNI 问题,但我也不能排除 C++ 对我来说是愚蠢的。我不熟悉 JNI 如何处理 jobject 类和对它的引用,所以也许 jobject 最终在内部存储了不同的类的数据。我也没有发现任何与此相关的内容或 C++ 数组/向量存储中的任何问题。

C++ 函数如下所示:

我应该提一下,这fromPointerHandleToObject还没有让我失望,我在其他所有函数调用中都使用它,并且每次都有效。如果您仍然想查看该代码,我可以发布它。

输出是这样的:

如您所见,jobject 数组的索引 0 存储了JSqTestFunc最初但JSqVM检索时的 a。

任何帮助,即使是不同的方法,都非常感谢,因为我花了太长时间和太多努力来解决这个问题。谢谢!

0 投票
1 回答
86 浏览

oop - if语句卡在循环中,如何只运行一次?

我正在创建一个系统,每次温度传感器超出限制时都会发送文本。我只需要发送一次此文本,但它会一直发送。

代码:

输出:

我不明白为什么会继续发送 server.log 当我输入 smsState if 语句时,该语句应该只运行一次,因为我将 smsState 更改为 1 如果这改变了任何东西,这是一个电动小鬼,但我认为它不会

0 投票
2 回答
213 浏览

file - 松鼠中的递归目录

是否可以在 squirrel 中检查目录的内容?我需要给定目录及其子目录中的文件名列表,包括它们的路径。

我正在编写一个用于 Code::Blocks 的脚本,它使用 squirrel 作为脚本语言。我查看了松鼠标准库,但找不到任何与文件相关的操作。也可以将此任务外包给外部脚本(bash 或其他),但我不希望这样做。

0 投票
1 回答
696 浏览

c++ - 如何在 C++ 中注册 Squirrel 类

您好,我正在尝试在 C++ 应用程序中使用 Squirrel。出于这个原因,我想在 C++ 中注册一个 Squirrel 类。
我们以下面的类为例。

谁能告诉我如何在 C++ 中绑定它?

0 投票
1 回答
65 浏览

math - 为什么将原始数据除以 16?

http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

阅读第 3 页,操作 - 测量温度。以下代码可用于获取温度。除了为什么他们将数字除以 16 之外,我理解所有这些。

我还有另一种情况http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Pressure/MPL3115A2.pdf第 23 页,第 7.1.3 节,温度数据。它只有 12 位,因此上面的代码也适用于它(只需将左移更改为 4 而不是 8),但同样,最终结果需要 /16。我不明白那是从哪里来的。

0 投票
1 回答
134 浏览

pubnub - Electric IMP + PubNub:代理打额外电话

我正在开发一个物联网项目,该项目使用 Electric Imp 和 PubNub 进行通信,使用 Parse 进行数据记录、云代码等。

出于某种原因,我在 IMP IDE 中的代码对 PubNub 频道进行了多次调用,而我只想将事件广播一次。

这是代码:

我想要的只是广播每个连接/事件一次....但是正如您从我的 server.log 中看到的那样,我似乎使用每个新的“构建和运行”命令进行了两次广播。

有人看到我的错误在哪里吗?这可能是一个愚蠢的错误,因为我不熟悉 Squirrel。

0 投票
1 回答
785 浏览

javascript - 计算玩家 AIM (xyz, pitch, yaw) 和 TARGET Vector(xyz) 之间的距离

我们有一个目标,它位于关卡的某个地方,还有一个可以四处移动并可以瞄准任何地方的玩家。现在我们要计算玩家 AIM 和 TARGET 之间的距离。

玩家的目标距离目标有多远?- 如果该值接近“0”,我们知道玩家正在瞄准目标。我们想知道这一点,因为我们喜欢计算玩家开枪时离他们有多远。

以下信息是我们所拥有的:

  • 目标向量(X,Y,Z)位置/坐标。
  • 玩家向量(X,Y,Z)位置/坐标。
  • 球员俯仰和偏航。

情况图

0 投票
1 回答
1627 浏览

javascript - 电子 - 更新窗口消息

我正在使用 Squirrel 在我的应用程序(电子)中进行更新。

我正在寻找显示发行说明的好方法。像这样的东西: 在此处输入图像描述

我在哪里可以找到这方面的信息?如何使我的消息窗口看起来像这样?

0 投票
1 回答
76 浏览

squirrel - 松鼠:没有e^怎么打印?

输出: 0.661467

输出: 1e-030

我想显示小数点后的全部 30 位数字。