小编Ale*_*xey的帖子

“yield from”可以与哪些对象一起使用?

最初(PEP 380),yield from引入了语法以用于委托给“子生成器”。后来它与现在已弃用的基于生成器的协程一起使用。

我不知道yield from一般可以应用什么样的对象。我的第一个猜想是它只需要__iter__对象上的方法来返回迭代器。实际上,以下适用于 Python 3.8:

class C:
    def __init__(self, n):
        self.n = n

    def __iter__(self):
        return iter(range(self.n))

def g(n):
    yield from C(n)

print(tuple(g(3)))
Run Code Online (Sandbox Code Playgroud)

但是,它也适用于一些asyncio.sleep(1)没有__iter__方法的等待对象,例如。

一般规则是什么?是什么决定了一个对象是否可以作为yield fromform的参数给出?

python generator coroutine python-3.x yield-from

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

是"行高:正常;" 一个坏主意?

当CSS line-height属性设置为时,我观察到一些相当不一致的HTML页面呈现行为normal.我还发现了Eric Meyer博客文章,其中line-height: normal;讨论了不同的不一致之处,这里只是一个引用:

这是一个妙语:声明的效果line-height: normal不仅在浏览器之间有所不同,这是我所预期的 - 事实上,量化这些差异是整个点 - 但它们也从一个字体到另一个不同,并且也可以在给定的范围内变化面子.

在我的情况下,我观​​察到添加一些Unicode符号,例如包络符号"✉",如果line-height设置为,则更改行块高度normal.设置line-height: 1.2;修复了问题.

我的问题是:有什么理由可以使用line-height: normal;吗?它表现得如此不可预测.

css

4
推荐指数
1
解决办法
1463
查看次数

Rails:respond_to vs"case"条件

respond_to在Rails 中使用而不是case语句有什么好处?我有几个实例变量,我想为某些格式设置相同的方式,但不是HTML.这似乎不起作用:

respond_to do |format|
  format.html do
    # ...
  end
  format.any(:csv, :xml) do
    # common stuff
  end
  format.csv do
    # ...
  end
  format.xml do
    # ...
  end
end
Run Code Online (Sandbox Code Playgroud)

我想我最终会使用一些case request.format而不是完全使用respond_to:

case request.format
when 'html'
  # ...
when 'csv', 'xml'
  # common stuff
end
# more common stuff
case request.format
when 'html'
  # render
when 'csv'
  # custom render csv
when 'xml'
  # render xml with a template
end
Run Code Online (Sandbox Code Playgroud)

所以我想知道什么是好的用例respond_to,哪里case request.format看起来不会更好?

ruby-on-rails

3
推荐指数
1
解决办法
3079
查看次数

是否可以在Ruby中重新打开匿名模块?

是否可以在Ruby中重新打开匿名模块?以下不起作用:

m = Module.new
module m
end
Run Code Online (Sandbox Code Playgroud)

"SyntaxError:(eval):2:类/模块名称必须为CONSTANT".

ruby

3
推荐指数
1
解决办法
164
查看次数

Sinatra或Rack应用程序可以查看它是否与Apache或Thin一起运行?

我正在尝试对Sinatra应用程序进行一些愚蠢的自动配置,允许从不同的子URI使用它,具体取决于它是使用Apache和Passenger运行,还是使用Thin Web服务器运行.

所以我的问题是:是否有可能从Sinatra应用程序中找出哪个Web服务器运行它?

ruby rack sinatra

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