21

彼らのドキュメントからの古典的なHello Worldの例、

class HelloWorld
  def call(env)
    return [200, {}, ["Hello world!"]]
  end
end

私の質問は、なぜ 3 番目の値が [Hello world!"] であり、"Hello world" ではないのですか?彼らのドキュメントから、

Body はそれぞれに応答する必要があり、String 値のみを生成する必要があります。これは Ruby 1.9 で機能しなくなるため、Body 自体を String のインスタンスにすることはできません。

なぜ体はそれぞれに反応する必要があるのですか?そして、それはどのような場合に重要ですか?

4

2 に答える 2

9

ラックは python の wsgi に由来すると思います。Python の説明は次のとおりです: http://www.python.org/dev/peps/pep-3333/#buffering-and-streaming

于 2012-05-08T03:49:51.550 に答える
7

文から判断するThe Body itself should not be an instance of String, as this will break in Ruby 1.9.と、応答の最後の要素はEnumerable. s は 1.9 でこのモジュールを含めるのをやめたのでString、それを実装するある種のコレクションが必要になります。

ところで: こんにちは世界の例は、何かが特定の方法で行われる理由を理解するのに適していないことがよくあります。それらはあまりにも些細なことです。

于 2012-05-08T07:15:54.527 に答える