小编les*_*pea的帖子

moose对象中构建器子例程的参数

我目前正在将构建器方法委托给扩展我的一个基类的所有对象.我面临的问题是我需要所有对象来读取自身的属性或传递一个值.

#  In Role:
has 'const_string' => (
    isa     => 'Str',
    is      => 'ro',
    default => 'test',
);

has 'attr' => (
    isa     => 'Str',
    is      => 'ro',
    builder => '_builder',
);

requires '_builder';


#  In extending object  -  desired 1
sub _builder {
    my ($self) = shift;
    #  $self contains $self->const_string
 }

#  In extending object  -  desired 2
sub _builder {
    my ($arg1, $arg2) = @_;
    #  $args can be passed somehow?
 }
Run Code Online (Sandbox Code Playgroud)

这是目前可能的还是我将不得不以其他方式做到这一点?

perl moose

6
推荐指数
1
解决办法
2210
查看次数

有没有一种简单的方法可以链接java setter而不是返回它

我有一堆自动生成的java代码,我将在scala中调用.目前所有的对象都是使用void setter而不是返回生成的,this这使得当你需要设置一堆值时它真的很烦人(我不会通过初始化所有内容来使用构造函数,因为它有50个字段).例如:

val o = new Obj()
o.setA("a")
o.setB("b")
o.setC("c")
Run Code Online (Sandbox Code Playgroud)

如果我可以做这样的事情真的很酷

val o = with(new Obj()) {
  _.setA("a")
  _.setB("b")
  _.setC("c")
}
Run Code Online (Sandbox Code Playgroud)

我不能使用andhen与anon函数,因为它们需要返回对象.我是坚持当前的方式我正在做的事情还是有一些我不知道的魔法.

scala

0
推荐指数
1
解决办法
361
查看次数

标签 统计

moose ×1

perl ×1

scala ×1