如何获取对Emacs Slime中最后返回的对象的引用

时间:2016-01-04 16:02:13

标签: emacs lisp common-lisp read-eval-print-loop slime

使用Emacs Slime,如何访问REPL中最后一个表达式返回的对象或值?

在ipython中它是_所以如果返回值是我的预期,我可以将它保存在变量中。

Slime有类似的东西吗?

2 个答案:

答案 0 :(得分:8)

Common Lisp定义了一些绑定前一个表单及其值的变量。这些是:

每次在REPL中评估表单时都会绑定这些变量(这就是Slime正在做的事情)。 <div class="main"> <div class="banner"> <img src="<?php echo Yii::app()->request->baseurl;?>/img/stat1.jpg" style="width: 1170px"> </div><!--banner ending here--><br> <div class="container" style="background-color:#7AC5CD"> <div class="row"> <div class="col-md-6"> <h3 style='text-align:center; text-decoration: underline;font-family: sans-serif; color: black'>Top 5 Ngo's month wise</h3> <br> <?php for($month = 1 ; $month <=12 ; $month++) { '<br>' ; $dateObj = DateTime::createFromFormat('!m', $month); $monthName = $dateObj->format('F'); echo "<h3 style='text-align:center;color:black;'> " . $monthName . "</h3>"; $user=UserRateReviewNgo::model()->findAll(array( 'condition' => 'YEAR(date_created)=:year and MONTH(date_created)=:month', 'params' => array(':year'=>2016, ':month'=>$month), 'select'=>'DISTINCT rate,ngo_id', 'order'=>'rate DESC', 'limit' => 5 )); $val = 100; foreach($user as $show) { $model = Ngo::model()->findByAttributes(array('id'=>$show->ngo_id,)); if (isset($model)) { echo "<div><h4><a href='".Yii::app()->request->baseUrl."/ngo/ngopage?id=$model->id'><p style='color:black;font-family:Lucida Sans Unicode;'>" . $model->ngo_name ."</p></a></h4></div> <div class='progress'> <div class='progress-bar progress-bar-danger progress-bar-striped active' role='progressbar' aria-valuenow='" . $val ."' aria-valuemin='0' aria-valuemax='100' style='width: ". $val ."%;'>" . $val . "</div> </div>"; $val = $val -21.23; } }} ?> </div> <div class="col-md-5 col-md-offset-1"> <h3 style='text-align:center; text-decoration: underline;font-family: sans-serif; color: black'>Top 5 Ngo's of the year</h3> <br> <?php // the for the year $val = 100; foreach($userYear as $show) { $model = Ngo::model()->findByAttributes(array('id'=>$show->ngo_id,)); if (isset($model)) { echo "<div><h4><a href='".Yii::app()->request->baseUrl."/ngo/ngopage?id=$model->id'><p style='color:black; font-family:Lucida Sans Unicode;'>" . $model->ngo_name ."</p></a></h4></div> <div class='progress'> <div class='progress-bar progress-bar-success progress-bar-striped active' role='progressbar' aria-valuenow='" . $val ."' aria-valuemin='0' aria-valuemax='100' style='width: ". $val ."%;'>" . $val . "</div> </div>"; $val = $val -17.96; } } ?> </div> </div> </div><!--main ending here--> </div><!--Container ending here--> */绑定了之前的主要值,值和表单。 +**//绑定到++*/的先前值。 //***///绑定了+++**//的先前值。

Lisp中的函数可能返回多个值;因此,保留主要(第一)值的++与保存所有值列表的*之间的差异。

答案 1 :(得分:6)

除了v​​erdammelts答案,您还可以复制和粘贴repl中的对象。有关示例,请参阅this文章中的第三张图片(我写的)。有关详细信息,请查看Slime手册的presentations部分。