问题标签 [amber-smalltalk]

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 投票
1 回答
99 浏览

smalltalk - Getting current timezone

How would I get the current timezone in either Pharo or Amber Smalltalk?

(I’m also curious about how I would go about finding this information myself through inspecting the image somehow or however it’s typically done – huge Smalltalk newbie here.)

0 投票
1 回答
267 浏览

json - Amber 和本地存储,asJSON?

我想用 Amber(在线 IDE)将 OrderedCollection 存储在 Web 浏览器的 localStorage 中,然后再检索它。

创建测试数据对象

在 localStorage 中存储测试数据对象

localStorage 是浏览器中的键值对存储。值必须是字符串。

取回存储的值

以下的printIt

这是一个 JSON 字符串。

如何取回 OrderedCollection coll

使用浏览器内置的 JSON 解析器

打印的结果是

数组的第三个元素

是一个

问题

如何取回任意 JSON 对象(包含 JavaScript 数组和对象、OrderedCollections 和 HashedCollections、Smalltalk 中的字典)的 Smalltalk 表示?

笔记

http://www.json.org

JSON 建立在两种结构之上:

  • 名称/值对的集合。在各种语言中,这被实现为对象、字典、哈希表或关联数组。
  • 值的有序列表。在许多语言中,这被实现为数组、列表或序列。
0 投票
1 回答
59 浏览

smalltalk - 带有脚本错误的琥珀色加载

我正在看琥珀,并按照此处给出的程序进行操作https://github.com/amber-smalltalk/amber/wiki/Getting-started。但是当我使用 bin\amber serve 运行 amber 时,我得到一个空白页面,并且它有一些未加载的脚本,上面写着

和类似的。

我按原样执行程序,为什么会出现这些错误。此外,如果我在浏览器中打开 index.html 文件,一切正常。其他人以前遇到过吗?

TIA

0 投票
1 回答
207 浏览

javascript - 如何将 JavaScript 构造函数转换为 Amber Smalltalk?

我将paperjs图形对象库与Amber Smalltalk一起使用。

我想将Point对象的以下 Javascript 构造函数转换为 Amber Smalltalk

以下 Smalltalk

给出一个观点

要在 Amber 工作区中构建一个数组,我会这样做

印刷品是

然而

结果为 nil。

问题

如何将paper.Point(array)构造函数从 JavaScript 转换为 Amber 以及其他构造函数?

参考

  1. http://paperjs.org/reference/point/
  2. https://github.com/amber-smalltalk/amber/wiki/Wrapping-javascript-constructors-recipe
  3. 到目前为止的翻译代码演示(还包含 fabricjs 和 svg.js 示例)
0 投票
1 回答
350 浏览

smalltalk - 如何使用凉亭添加非 Amber 库?(例如处理js)

我已经开始了一个项目,amber init然后添加bower install processing --saveprocessing.js。我用

此方法由实例方法调用initialize,它在 Amber v0.13 之前的版本中工作。

如何在 Amber 0.13 和 0.14 中初始化 Processing.js?

示例代码在这里

Herby回答后的加法

在 0.13 和 0.14 版本中,必须手动将配置文件processing.amd.json添加到根目录。libraryname.amd.json如果库在库目录中没有文件,则需要项目根目录中的文件local.amd.json

libraryname.amd.jsonAmber Smalltalk 和 Helios 的文件示例如下:

琥珀项目;文件 jquery.amd.json

琥珀项目;文件 es5-shim.amd.json

太阳神项目;文件 showdown.amd.json

项目:https ://github.com/hhzl/Amber-snapsvg-demo 文件:snap.svg.amd.json

参考

问题

这个processing.amd.json库映射文件有什么问题?

注意processing.amd.json运行更改后grunt devel

0 投票
2 回答
369 浏览

smalltalk - 如何获取表单所有字段的值?

我在客户端 Amber 解决方案中有一个这样的 HTML 表单

问题

如何遍历表单的所有字段,以便将字段内容放入 Amber 字典,字段名称为键,文本内容为值?

Stephen-Eggermont 和 MKroenert 回答后的新版本问题

如何获取表单的所有字段的值,以便将它们放入 Amber 字典中,字段名称为键,文本内容为值?

还是有一种惯用的方法来创建表单并检索值?

注意:如果这使事情更具可读性,则可以使用 Amber 代码构建表单。

参考

回答后编辑:FileIn 代码

MKroenert 提供的答案工作正常

下面是我测试过的他的代码。它可以直接在工作空间中归档

0 投票
1 回答
109 浏览

smalltalk - 如何打开具有特定班级的班级浏览器?

Amber Smalltalk 版本 0.13

这个项目中,我想用一个特定的类打开类浏览器。

我收到错误消息amber not defined (请参见下面的屏幕截图)。

问题 如何正确打开浏览器?

在此处输入图像描述

0 投票
2 回答
573 浏览

dictionary - Smalltalk 中的关联集合和字典有什么区别?

如果我PrintIt,我会得到“白色”。如果我删除“asDictionary”,我仍然会得到“白色”。字典给了我什么是关联集合没有的?

0 投票
2 回答
456 浏览

debugging - GNU Smalltalk 80 调试器。如何调试小代码代码?启动调试器?

在 GNU Smalltalk 80 中,可以在您自己选择的纯文本编辑器中编写 smalltalk 代码。

因此,调试代码非常重要。

首先将文件保存为 txt 文件。然后使用“工具”从程序员文本编辑器打开文件。这里的工具 - 链接 C/programme/GNU/gnu smalltalk/gst.exe。代码正在运行。不包括调试选项。在这些情况下,编程是不可能的。必须有一个“调试”选项才能激活。

我的问题是:如何包含该调试选项?通常首先调试 smalltalk 代码。

0 投票
1 回答
157 浏览

smalltalk - Pharo Smalltalk - 实例化对象后是否可以将 super 分配给其他实例?

假设我们有oneInstancesecondInstance,其中之一SomeClass和 1OtherClass具有下面的示例类层次结构:

是否有可能在运行时更改 oneInstance 以使其“超级”消息发送到 secondInstance。

oneInstance 和 secondInstance合并本质上使 oneInstance 就像它们是一个对象一样工作,并且结构看起来好像它们是从以下内容实例化的:

最简单的是,如果我可以super := secondInstance在 oneInstance 上分配一点,然后再改回来:D

PS。本质上,我们通过让 secondInstance 重新分类 oneInstance,因为它是“超级”,它们现在是一个对象,其状态都假定 oneInstance 是从 Object 继承而来的,没有其他状态,但它是自己的。大多数情况下,使用继承链的默认方法查找对我有利。我能找到的最接近的是对象切片https://en.wikipedia.org/wiki/Object_slicing

另一种看待它的方式是:

secondInstance 正在接收消息,它是 OtherClass 的一个实例,一切正常。它接收到的一些消息不在 OtherClass 中,因此方法查找沿着继承链向上到达 SomethingClass,然后到达 Object、ProtoObject 等,最后它们应该被转发到另一个实例。这个过程应该是完全透明的。