Khiêu chuyển đáo nội dung

BOO nhập môn / áp tử loại biệt hình

Duy cơ giáo khoa thư, tự do đích giáo học độc bổn

BOO nhập môn>Áp tử loại biệt hình(Thượng nhất chương: Cự tậpHạ nhất chương: Sử dụng Boo biên dịch khí)


定義 Định nghĩaDuck Typing thị dụng lai miêu thuật bất kiểm tra hình biệt hệ thống đích nhất chủng khôi hài thuyết pháp. Giá cá danh từ tối tảo thị do Ruby xã quần lí đích Dave Thomas sang tạo, tha thị giá ma thuyết đích, "Như quả tha tẩu lộ tượng chỉ áp, thuyết thoại dã tượng chỉ áp, na ma, tha tựu thị chỉ áp.", Duck typing đối trị đích xử trí dã thị như thử.

Tuy nhiên Boo thị cá tĩnh thái hình biệt đích ngữ ngôn, đãn Duck Typing khả dĩ nhượng Boo khán khởi lai tượng thị động thái ngữ ngôn. Duck typing nhượng biến sổ năng tại chấp hành thời kỳ tài bị nhận định, nhi bất thị tại biên dịch thời kỳ. Tẫn quản giá tăng gia liễu giản đan đích cảm giác, đãn tha đích xác bài trừ liễu đại lượng đích an toàn quan tạp (Though this can add a sense of simplicity, it does remove a large security barrier.).

//DuckTypingPhạm lệ
dasduck
d=5//Hiện tại thiết vi chỉnh sổ
printd
d+=10//Tha năng tác nhậm hà chỉnh sổ năng tố đích sự
printd
d="Hi there"//Thiết trí vi tự xuyến
printd
d=d.ToUpper()//Đồng dạng địa,Tha dã năng tác nhậm hà tự xuyến năng tố đích sự.
printd

Thâu xuất kết quả

5
15
Hi there
HI THERE

Như quả nhĩ tòng công hán hoặc tòng bất khả tri đích hàm thức khố lí tái nhập nhất ta loại biệt đích thoại, Duck typing phi thường hữu dụng.

建議 Kiến nghịDự thiết bất yếu đả khai duck typing tuyển hạng. Tha ứng cai chỉ năng tại thiếu sổ tình huống hạ sử dụng.

Yếu chú ý đích thị, booish trực dịch khí dự thiết thị bả duck typing đả khai đích. Nhĩ khả dĩ sử dụng interpreter.Ducky = false lai bả duck typing quan bế.

Giá nhi thị lánh nhất cá thật dụng đích duck typing phạm lệ.

//Thật dụng đíchDuckTyping
importSystem.Threading

defCreateInstance(progid):
type=System.Type.GetTypeFromProgID(progid)
returntype()

ieasduck=CreateInstance("InternetExplorer.Application")
ie.Visible=true
ie.Navigate2("http://www.go-mono.com/monologue/")

whileie.Busy:
Thread.Sleep(50ms)

document=ie.Document
print("${document.title}Cộng hữu ${document.fileSize}bytes. ")

Luyện tập[Biên tập]

  1. Hữu một hữu khả dĩ nhượng duck typing hữu dụng võ chi địa đích hảo lệ tử ni?