我最近遇到了一些使用方法调用的代码,该方法调用由格式组成,但object.(arg1, arg2) 没有很好地解释它是如何工作的.请参阅以下示例代码:
class TestServiceObject
def call
'method'
end
end
TestServiceObject.new.()
# => 'method'
Run Code Online (Sandbox Code Playgroud)
这种速记的术语是什么?
我最近开始玩Play!Java的框架,版本1.2.3(最新版本).在测试框架时,我遇到了一个奇怪的问题,试图将一个Map对象保存在一个名为Hibernate的实体中FooSystem.地图对象映射长到Hibernate的实体,我呼吁Foo,随着申报Map<Long, Foo> fooMap;
我的问题如下:正确的表创建,因为我已经注释了它们.但是,当FooSystem对象fs持久化时,数据fs.fooMap不是!
这是我为实体使用的代码.首先是Foo:
package models.test;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import play.db.jpa.Model;
@Entity
public class Foo extends Model
{
@ManyToOne
private FooSystem foosystem;
public Foo(FooSystem foosystem)
{
this.foosystem = foosystem;
}
}
Run Code Online (Sandbox Code Playgroud)
这是FooSystem:
package models.test;
import java.util.HashMap;
import java.util.Map;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import play.db.jpa.Model;
@Entity
public class FooSystem extends Model
{
@ManyToMany(cascade = {CascadeType.ALL, CascadeType.PERSIST}) …Run Code Online (Sandbox Code Playgroud) 我有一个PHP应用程序,我试图包括,但它导致问题,因为我试图从子目录中包含其文件.例如,这是我正在尝试使用的目录结构(或多或少):
/site
/scripts
/local
some_script.php
lib_file_a.php
lib_file_b.php
lib_load.php
Run Code Online (Sandbox Code Playgroud)
lib_load.php有include文件命令lib_file_a.php和lib_file_b.php(相对路径).
我想做到的是,包括lib_load.php从some_script.php,但有一个与我包括方式有问题lib_load.php.起初我试过了require('../../../lib_load.php');.
正如您所料,我看到了错误,"无法打开所需的'C:\ xampp\htdocs\site\scripts\local\lib_file_a.php'".如您所见,PHP正在尝试包含一个不存在的文件.我找到了一个Stack Overflow帖子告诉我使用绝对路径(链接),但这没有帮助.我接下来尝试了这段代码:
require(realpath(dirname(__FILE__) . '../../../' . 'lib_load.php'));
Run Code Online (Sandbox Code Playgroud)
但是,这一次,同样的错误又回来了.我究竟做错了什么?
编辑:我意识到问题实际上是在库加载器中,结果是基于绝对路径而不是相对路径包含文件.(我应该仔细阅读.)我通过更改库使用的路径解决了这个问题.如果mod看到此请求,则应关闭此问题.