From 719781d6b61f5641c3fbf570166ba93e42b8d352 Mon Sep 17 00:00:00 2001 From: maxonfjvipon Date: Wed, 3 Apr 2024 12:09:43 +0300 Subject: [PATCH] feat(#3001): cage.it --- eo-runtime/src/main/eo/org/eolang/cage.eo | 5 +++-- .../src/main/java/EOorg/EOeolang/EOcage$EOnew.java | 6 +++--- eo-runtime/src/test/eo/org/eolang/cage-tests.eo | 10 ++++++++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/eo-runtime/src/main/eo/org/eolang/cage.eo b/eo-runtime/src/main/eo/org/eolang/cage.eo index dccc6296a7..7e760072b5 100644 --- a/eo-runtime/src/main/eo/org/eolang/cage.eo +++ b/eo-runtime/src/main/eo/org/eolang/cage.eo @@ -30,5 +30,6 @@ # you to store objects, not only data. In other words, it doesn't # do dataization when objects are being stored. [] > cage - # Make new `cage` for an object. - [object] > new /? + # Make new `cage` for an object. After application this `new` object starts behave + # like `it` object. + [it] > new /? diff --git a/eo-runtime/src/main/java/EOorg/EOeolang/EOcage$EOnew.java b/eo-runtime/src/main/java/EOorg/EOeolang/EOcage$EOnew.java index 37866adab2..17026eab62 100644 --- a/eo-runtime/src/main/java/EOorg/EOeolang/EOcage$EOnew.java +++ b/eo-runtime/src/main/java/EOorg/EOeolang/EOcage$EOnew.java @@ -65,13 +65,13 @@ public final class EOcage$EOnew extends PhDefault implements Atom { */ EOcage$EOnew(final Phi sigma) { super(sigma); - this.add("object", new EOcage$EOnew.AtEncaged()); + this.add("it", new EOcage$EOnew.AtEncaged()); this.add( "encage", new AtSimple( new PhWrite( this, - "object", + "it", rho -> new Data.ToPhi(true) ) ) @@ -80,7 +80,7 @@ public final class EOcage$EOnew extends PhDefault implements Atom { @Override public Phi lambda() throws Exception { - return this.take("object"); + return this.take("it"); } /** diff --git a/eo-runtime/src/test/eo/org/eolang/cage-tests.eo b/eo-runtime/src/test/eo/org/eolang/cage-tests.eo index 11eaac3703..71734fa104 100644 --- a/eo-runtime/src/test/eo/org/eolang/cage-tests.eo +++ b/eo-runtime/src/test/eo/org/eolang/cage-tests.eo @@ -204,3 +204,13 @@ QQ.io.stdout > @ stack-overflow-message FALSE + +# Test. +[] > applies-after-retrieval + # Func. + [x] > func + 2.plus x > @ + cage.new func > c + eq. > @ + c.it 5 + 7