小编Mic*_*ski的帖子

如何在Emacs中调用交互式elisp解释器?

现在我在*scratch*缓冲区中编写表达式并通过评估来测试它们C-x C-e.我真的很感激有一个像SLIME或irb这样的交互式解释器,我可以在其中测试Emacs Lisp表达式.

emacs interpreter elisp

38
推荐指数
3
解决办法
9685
查看次数

Ruby在Python中的轻拍成语

有一个有用的Ruby习惯用法tap允许你创建一个对象,对它做一些操作并返回它(我在这里只使用一个列表作为例子,我真正的代码更多参与):

def foo
  [].tap do |a|
    b = 1 + 2
    # ... and some more processing, maybe some logging, etc.
    a << b
  end
end

>> foo
=> [1]
Run Code Online (Sandbox Code Playgroud)

使用Rails有一个类似的方法returning,所以你可以写:

def foo
  returning([]) do |a|
    b = 1 + 2
    # ... and some more processing, maybe some logging, etc.
    a << b
  end
end
Run Code Online (Sandbox Code Playgroud)

这说明了一切.无论你对对象做了多少处理,它仍然清楚它是函数的返回值.

在Python中我必须写:

def foo():
  a = []
  b = 1 + 2
  # ... and some more processing, maybe some …
Run Code Online (Sandbox Code Playgroud)

ruby python idioms

11
推荐指数
3
解决办法
1950
查看次数

标签 统计

elisp ×1

emacs ×1

idioms ×1

interpreter ×1

python ×1

ruby ×1