【问题标题】:Is it possible to return a shape (ellipse, rect etc.) in Processing function?是否可以在处理函数中返回形状(椭圆、矩形等)?
【发布时间】:2018-10-17 03:13:21
【问题描述】:

我想从处理函数返回整个形状。例如:

void shapeReturn() {
  return(ellipse(10, 10, 20, 20));
}

这可能吗?我找不到适合形状的返回类型。

【问题讨论】:

  • 我猜这不应该被标记为java ?
  • 有一种设计模式叫工厂模式,也许吧!它可以帮助你
  • @YCF_L 你能告诉我更多关于这个工厂模式的信息吗?
  • 你可以google一下@CoopDaddio有很多例子例如tutorialspoint.com/design_pattern/factory_pattern.htm
  • 除了@AxelH 是正确的,似乎不是java 问题,您可以更改标签吗?

标签: return processing return-type


【解决方案1】:

简短的回答是否定的。处理不支持在 Java 7 或 Java 8(或 9 或 10...)中实现的新功能。这意味着您不能使用method references,这可能在这里有所帮助。

您可以执行类似使用匿名 Runnable 实例的操作,如下所示:

void setup(){
  shapeReturn().run();
}

Runnable shapeReturn() {
  return new Runnable(){
    public void run(){
      ellipse(10, 10, 20, 20);
    }
  };
}

或者更一般地说,您可以返回一个包含您随后调用的函数的对象。

另一种选择是使用Processing as a Java library,这样您就可以使用您想要的任何Java 功能。

但老实说,这可能表明您应该重构代码。

【讨论】:

    猜你喜欢
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多