một ví dụ hello world cổ điển từ doc của họ,Tại sao cơ thể trả lời giá một mảng không phải là một chuỗi?
class HelloWorld
def call(env)
return [200, {}, ["Hello world!"]]
end
end
câu hỏi của tôi là lý do tại sao giá trị thứ ba là [Hello world! "], Không phải là "Hello world"? Từ tài liệu của họ,
Các cơ thể phải đáp ứng với mỗi và chỉ phải mang giá trị string. các cơ thể bản thân không phải là một thể hiện của string, vì điều này sẽ phá vỡ trong của Ruby 1.9.
tại sao nhu cầu cơ thể để trả lời từng câu hỏi? và trong trường hợp nào thì nó quan trọng?
Tôi sẽ giả định sao cho nó có thể được lưu vào bộ đệm và sau đó được gửi theo khối cho bất kỳ ai yêu cầu. Phản hồi có thể khá lớn để các máy chủ "truyền" nó ra. câu hỏi của bạn có cụ thể hơn với mệnh đề về Ruby 1.9 ngoài toàn bộ sự lặp lại trên cơ thể không? –
Nó cũng có ý nghĩa khi bạn nghĩ về cách gửi() và recv() làm việc trong thế giới C. Khi bạn gọi recv bạn cung cấp cho nó một địa chỉ cho một bộ đệm của các ký tự mà nó lấp đầy. Bạn không chắc chắn để có được toàn bộ cơ thể trong một cuộc gọi. Điều này cũng đúng khi bạn gửi một chuỗi ký tự. – nickethier