问题标签 [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.
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.)
json - Amber 和本地存储,asJSON?
我想用 Amber(在线 IDE)将 OrderedCollection 存储在 Web 浏览器的 localStorage 中,然后再检索它。
创建测试数据对象
在 localStorage 中存储测试数据对象
localStorage 是浏览器中的键值对存储。值必须是字符串。
取回存储的值
以下的printIt
给
这是一个 JSON 字符串。
如何取回 OrderedCollection coll?
使用浏览器内置的 JSON 解析器
打印的结果是
和
是
数组的第三个元素
是一个
问题
如何取回任意 JSON 对象(包含 JavaScript 数组和对象、OrderedCollections 和 HashedCollections、Smalltalk 中的字典)的 Smalltalk 表示?
笔记
JSON 建立在两种结构之上:
- 名称/值对的集合。在各种语言中,这被实现为对象、字典、哈希表或关联数组。
- 值的有序列表。在许多语言中,这被实现为数组、列表或序列。
smalltalk - 带有脚本错误的琥珀色加载
我正在看琥珀,并按照此处给出的程序进行操作https://github.com/amber-smalltalk/amber/wiki/Getting-started。但是当我使用 bin\amber serve 运行 amber 时,我得到一个空白页面,并且它有一些未加载的脚本,上面写着
和类似的。
我按原样执行程序,为什么会出现这些错误。此外,如果我在浏览器中打开 index.html 文件,一切正常。其他人以前遇到过吗?
TIA
javascript - 如何将 JavaScript 构造函数转换为 Amber Smalltalk?
我将paperjs图形对象库与Amber Smalltalk一起使用。
我想将Point对象的以下 Javascript 构造函数转换为 Amber Smalltalk
以下 Smalltalk
给出一个观点
要在 Amber 工作区中构建一个数组,我会这样做
印刷品是
然而
结果为 nil。
问题
如何将paper.Point(array)构造函数从 JavaScript 转换为 Amber 以及其他构造函数?
参考
smalltalk - 如何使用凉亭添加非 Amber 库?(例如处理js)
我已经开始了一个项目,amber init然后添加bower install processing --save了processing.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
smalltalk - 如何获取表单所有字段的值?
我在客户端 Amber 解决方案中有一个这样的 HTML 表单
问题
如何遍历表单的所有字段,以便将字段内容放入 Amber 字典,字段名称为键,文本内容为值?
Stephen-Eggermont 和 MKroenert 回答后的新版本问题
如何获取表单的所有字段的值,以便将它们放入 Amber 字典中,字段名称为键,文本内容为值?
还是有一种惯用的方法来创建表单并检索值?
注意:如果这使事情更具可读性,则可以使用 Amber 代码构建表单。
参考
- https://github.com/amber-smalltalk/amber/wiki/FAQ#how-do-i-get-the-text-value-of-an-input-field
- http://api.jquery.com/each/
回答后编辑:FileIn 代码
MKroenert 提供的答案工作正常
下面是我测试过的他的代码。它可以直接在工作空间中归档
smalltalk - 如何打开具有特定班级的班级浏览器?
Amber Smalltalk 版本 0.13
在这个项目中,我想用一个特定的类打开类浏览器。
我收到错误消息amber not defined (请参见下面的屏幕截图)。
问题 如何正确打开浏览器?

dictionary - Smalltalk 中的关联集合和字典有什么区别?
如果我PrintIt,我会得到“白色”。如果我删除“asDictionary”,我仍然会得到“白色”。字典给了我什么是关联集合没有的?
debugging - GNU Smalltalk 80 调试器。如何调试小代码代码?启动调试器?
在 GNU Smalltalk 80 中,可以在您自己选择的纯文本编辑器中编写 smalltalk 代码。
因此,调试代码非常重要。
首先将文件保存为 txt 文件。然后使用“工具”从程序员文本编辑器打开文件。这里的工具 - 链接 C/programme/GNU/gnu smalltalk/gst.exe。代码正在运行。不包括调试选项。在这些情况下,编程是不可能的。必须有一个“调试”选项才能激活。
我的问题是:如何包含该调试选项?通常首先调试 smalltalk 代码。
smalltalk - Pharo Smalltalk - 实例化对象后是否可以将 super 分配给其他实例?
假设我们有oneInstance和secondInstance,其中之一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 等,最后它们应该被转发到另一个实例。这个过程应该是完全透明的。