【问题标题】:How do I translate JavaScript constructors to Amber Smalltalk?如何将 JavaScript 构造函数转换为 Amber Smalltalk?
【发布时间】:2014-06-13 19:36:22
【问题描述】:

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

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

paper.Point(x, y)
paper.Point(array)
paper.Point(object)
paper.Point(size)
paper.Point(point) 

以下Smalltalk

paper Point new inspect

给出一个观点

{ x: 0, y: 0 } 

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

#(100 100)

打印出来的是

 an Array (100 100) 

然而

 paper Point value: #(100 100)    

结果为 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. Demo 到目前为止已翻译的代码(还包含 fabricjs 和 svg.js 示例)

【问题讨论】:

    标签: javascript constructor amber-smalltalk


    【解决方案1】:

    new paper.Paper(100,100) (JavaScript) 的 Amber Smalltalk 等效项是

    paper Point newValue: 100 value: 100
    

    这给了

     { x: 100, y: 100 } 
    

    参考

    https://github.com/amber-smalltalk/amber/wiki/Call-javascript-constructors-with-arguments

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多