- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
最近我在查看与goliath相关的一些代码时,偶然在Ruby代码中看到了这个词sử dụng
。 , 中间件等。看起来它不同于bao gồm
/extend
, Và yêu cầu
.
有人可以解释为什么存在这个 sử dụng
关键字,以及它与 bao gồm
/yêu cầu
有何不同?它是如何工作的,何时使用它?
câu trả lời hay nhất
正如人们指出的那样,sử dụng
不是Ruby 关键字,它实际上是Rack::Builder
lớp học 的一个方法。 :
use(middleware, *args, &block)
Specifies middleware to use in a stack.
This documentation ( pointed out by @user166390 ) 是这样描述的:
Rack::Builder
implements a small DSL to iteratively constructRack
applications.Ví dụ:
app = Rack::Builder.new {
use Rack::CommonLogger
use Rack::ShowExceptions
map "/lobster" do
use Rack::Lint
run Rack::Lobster.new
kết thúc
}Or
app = Rack::Builder.app do
use Rack::CommonLogger
lambda { |env| [200, {'Content-Type' => 'text/plain'}, 'OK'] }
kết thúc
sử dụng
adds a middleware to the stack,chạy
dispatches to an application.
我不太熟悉 Rack::Builder
source code , 但看起来每次你用一个新的中间件模块调用 sử dụng
时,它都会被添加到一个数组中,并且每个模块都按照添加它的相反顺序运行/注入(inject)(最后一个-先出顺序,又名堆栈顺序)。运行前一个中间件的结果通过inject
传递给堆栈中的下一个中间件。 :
def initialize(default_app = nil,&block)
# @use is parallel assigned to [].
@use, @map, @run = [], nil, default_app
instance_eval(&block) if block_given?
kết thúc
def use(middleware, *args, &block)
if @map
mapping, @map = @map, nil
@use << proc { |app| generate_map app, mapping }
kết thúc
# The new middleware is added to the @use array.
@use << proc { |app| middleware.new(app, *args, &block) }
kết thúc
def to_app
app = @map ? generate_map(@run, @map) : @run
fail "missing run or map statement" unless app
# The middlewares are injected in reverse order.
@use.reverse.inject(app) { |a,e| e[a] }
kết thúc
关于ruby-on-rails - "use"Ruby/Rails/Rack 代码中的关键字/词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11982310/
Nếu tôi tạo một đối tượng mà không sử dụng từ khóa new, chẳng hạn như "Object s(someval)", nhưng hàm tạo của đối tượng sử dụng new, khi đối tượng nằm ngoài phạm vi, hàm hủy có được gọi để phân bổ không gian mới cho nó không? Tôi cảm thấy như vậy, nhưng tôi thì không
Trong cú pháp SQL, tôi thấy các quy tắc lạ chỉ ra rằng select * from ONLY (t1) là SQL hợp lệ. Câu hỏi của tôi là: CHỈ có nghĩa là gì trong bối cảnh này? Nó nằm trong "bảng 7.6 ref" của đặc tả
Tại sao việc sử dụng $(this) thay vì chọn lại lớp lại quan trọng? Tôi sử dụng rất nhiều hoạt ảnh và chỉnh sửa CSS trong mã của mình và tôi biết mình có thể sử dụng $(this) để đơn giản hóa nó. Câu trả lời hay nhất Khi bạn thực hiện truy vấn DOM qua jQuery (
Tôi đang cố gắng viết một truy vấn bằng từ khóa IN. Nhận dạng thuộc tính Bảng A, tên thuộc tính Khóa bảng B, nhận dạng thuộc tính, giá trị thuộc tính Theo khóa được cung cấp, tôi muốn trả về tất cả các kết hợp attrName, attrVal. Kết quả sẽ chứa các cột từ cả hai bảng.
Câu hỏi này đã có câu trả lời ở đây: Tại sao bạn lại sử dụng "AS" khi đặt bí danh cho bảng SQL? (8 câu trả lời) Đã đóng 9 năm trước. Tôi không giỏi viết truy vấn, nhưng kể từ khi tôi bắt đầu sử dụng
Tôi đã đọc rằng trong Java bạn không cần phải liên kết rõ ràng từ khóa này với một đối tượng, việc này được thực hiện bởi trình thông dịch. Nó trái ngược với Javascript, nơi bạn luôn phải biết giá trị của điều này. Nhưng Ja
Mục đích của từ khóa "với" trong Swift là gì? Cho đến nay tôi thấy rằng bạn có thể sử dụng từ khóa này nếu bạn cần ghi đè một hàm toàn cục hiện có, chẳng hạn như toDebugString. // không có "với" bạn
Câu hỏi này đã có câu trả lời ở đây: Từ khóa "ở đâu" trong khai báo lớp làm gì? (7 câu trả lời) Đã đóng 9 năm trước. Trong đoạn mã sau (
Tuyên bố miễn trừ trách nhiệm: Xin chào người mới sử dụng Swift, tôi mới bắt đầu học Swift và hiện đang học ngôn ngữ lập trình Swift (sách được Apple phát hành trong WWDC) và đang thắc mắc từ khóa "where" là gì. nó được sử dụng cho rau củ
Sau khi tìm hiểu kỹ tài liệu, tôi không thể tìm thấy câu trả lời cho câu hỏi sau: Có lý do nào chống lại việc sử dụng this để chỉ đối tượng hiện tại, như trong ví dụ bên dưới không? gõ MyStruct struct { someField string } vui vẻ
Lời nói đầu Gần đây, tôi đã sử dụng từ khóa parent:: trong một dự án phát triển THINKPHP. Trên thực tế, từ khóa parent:: là một hàm thường được sử dụng trong PHP. Điều này không chỉ được sử dụng trong phát triển dự án THINKPHP, ngay cả đối với một dự án nhỏ.
Chúng ta đều biết và thường xuyên sử dụng từ khóa unsigned, nhưng bạn đã bao giờ nghĩ đến việc sử dụng từ khóa signature tương ứng chưa? Sao chép mã như sau: int i = 0;
Từ khóa this là một khái niệm mà tôi nghĩ là rất khó hiểu trong Java, :) Có lẽ vì nó quá ngu ngốc. Ý nghĩa của từ khóa this: có thể tạo ra một handler tương ứng cho đối tượng mà phương thức của nó được gọi. Làm thế nào để hiểu đoạn văn này? suy nghĩ tôi
1. Từ khóa được đồng bộ hóa cung cấp cơ chế khóa để đảm bảo quyền truy cập loại trừ lẫn nhau vào các biến được chia sẻ, từ đó ngăn ngừa các vấn đề không nhất quán về dữ liệu. Từ khóa được đồng bộ hóa bao gồm màn hình
Gần đây tôi đã đọc một số bài viết liên quan đến từ khóa được đồng bộ hóa và tôi đã học được rất nhiều điều. Tôi muốn tóm tắt nội dung có liên quan của từ khóa này. 1. Tính nguyên tử của đồng bộ hóa: Cái gọi là tính nguyên tử dùng để chỉ một thao tác hoặc nhiều thao tác hoặc tất cả chúng đều được thực thi và
Trong hướng dẫn này, bạn sẽ tìm hiểu về các phương thức đối tượng JavaScript và từ khóa this với sự trợ giúp của các ví dụ. Trong JavaScript, các đối tượng cũng có thể chứa các hàm. Ví dụ: // đối tượng chứa meth
有人可以解释一下 PHP“with”的作用吗? 示例开始: 假设我有一个类: \App\fa_batch 这句话有什么区别: $w = (with (new \App\fa_batch))
这个问题在这里已经有了答案: What is the difference between using the colon and as syntax for declaring type? (2
如果我在 WHERE 子句中使用以下任一项,是否会有很大不同: WHERE [Process Code] = 1 AND ([Material ID] = 'PLT' OR [Material ID]
This question is unlikely to help any future visitors; it is only relevant to a small geographic are
Tôi là một lập trình viên xuất sắc, rất giỏi!