Iota của std :: iota có nghĩa là gì?


146

Tôi giả sử "i" là tăng và "a" được gán, nhưng tôi không thể tìm ra hoặc tìm câu trả lời. Ngoài ra, nó trông rất giống với phi tiêu chuẩn itoamà tôi nghĩ là khó hiểu.


10
Có thể từ APL? Chữ Iota trong tiếng Hy Lạp đã được sử dụng để tạo ra một vectơ các số nguyên liên tiếp.
cmbuckley

3
Nếu bạn cho rằng điều đó khó hiểu, Google Go sẽ tạo iotamột <s> từ khóa </ s> số nhận dạng được khai báo đặc biệt, có giá trị được tăng lên một lần cho mỗi định nghĩa, nhưng chỉ khi bạn xác định các hằng số.
Potatoswatter

3
Đồng ý về sự itoanhầm lẫn; Tôi đã có những suy nghĩ tương tự.
NHDaly


1
Thật buồn cười, bằng cách nào đó tôi đã nghĩ rằng cái tên đó là từ "atoi" ngược - loại ngược lại. Không thực sự có ý nghĩa mặc dù.
Petter

Câu trả lời:


184

Từ tài liệu gốc SGI STL :

Tên iota được lấy từ ngôn ngữ lập trình APL.

Trong bài giảng về giải thưởng Turing, Ken Iverson (nhà phát minh của APL) đã nói điều này:

Ví dụ, hàm số nguyên được biểu thị bằng cách ιtạo ra một vectơ của các nsố nguyên đầu tiên khi được áp dụng cho đối số n,

Đó ιchữ iota chữ thường viết thường .

Trong đoạn trích dẫn trên, tôi đã gõ ι, U + 03B9, trong GỌI LỚN NHỎ IOTA , nhưng Unicode thực sự có một điểm mã dành riêng cho iota của APL: U + 2373, APL FUNCTIONAL SYMBOL IOTA ,.


Để đáp ứng nhu cầu của các nhà bình luận, tôi sẽ tiếp tục giải quyết từ nguyên của từ iota nghén trong bối cảnh này.

Câu trả lời dễ hiểu nhất là Ken Iverson muốn có một biểu tượng sẽ nhắc nhở người dùng về từ số nguyên Số nguyên và việc sử dụng chữ cái iiết như một biến số nguyên điển hình, đặc biệt là cho đăng ký mảng.

Nhưng hãy giả sử có một ý nghĩa sâu sắc hơn.

Theo Từ điển tiếng Anh Oxford, Nhật iota, là tên của chữ Hy Lạp Ι, ι, tương ứng với chữ I La Mã, i; chữ cái nhỏ nhất của bảng chữ cái tiếng Hy Lạp, (nhỏ nhất, không phải theo thứ tự chữ cái, tôi đoán vậy), và cũng có nghĩa là Ít nhất, hoặc một hạt rất nhỏ, hạt hoặc số lượng. Cách sử dụng sớm nhất của OED về ý nghĩa này là từ Clavis mystica của Daniel Featley năm 1636:

Chúng ta sẽ thua, hay đi ngang qua, bất kỳ iota hay tittle nào của Booke of God?

Clavis mystica là một hướng dẫn cho các phần của Kinh thánh, và câu này đặc biệt đề cập đến Matthew 5:18. Phiên bản 1611 của Phiên bản King James có văn bản này cho Matthew 5:18 :

ngày mai 5:18

Phiên mã:

Đối với thực tế, tôi nói vnto bạn, Till nặng và trái đất, một iote hoặc một danh hiệu, sẽ không được thông qua luật pháp, cho đến khi tất cả được thực hiện.

OED mang đến cho iốt iote và là một dạng khác của văn bản jotv, mà (giống như i ivio) có nguồn gốc từ tiếng Hy Lạp, ἰῶτα, là tên tiếng Hy Lạp của chữ cái này. Tại sao Featley lại đổi đổi iote thành thành iota tinh? Đáng buồn thay, tôi không có một bản sao của Clavis mystica trong thư viện cá nhân của mình, vì vậy tôi không thể điều tra thêm.

Trong bản gốc tiếng Hy Lạp của Ma-thi-ơ 5:18, Hồi iote là tiếng ἰῶτα, và tiêu đề Tiêu (hay hiện đại hơn, là trò chơi tẻ nhạt) là κερκερί Từ ngữ κεραία, có nghĩa là, đại khái là, ser seri, hoặc apostrophe. Vì vậy, câu Kinh thánh này đề cập đến ý tưởng về những chi tiết nhỏ nhất , và sử dụng cách dùng ”α, để nói đến chữ iota trong vai trò là chữ cái nhỏ nhất của bảng chữ cái Hy Lạp.

Do đó, chúng ta có thể suy ra rằng hàm STL iotavà tiền đề APL của nó , được đặt tên theo cách của Kinh Thánh, theo chữ cái nhỏ nhất của bảng chữ cái Hy Lạp, ọ, bởi vì các hàm này tạo ra các số nguyên cách nhau bởi số nguyên nhỏ nhất có thể được tách ra.

Theo Wikipedia , chữ iota của Hy Lạp xuất phát từ chữ Phoenician yōdh.

Đây là một lĩnh vực lập trình xa như tôi hiện đang muốn cho câu hỏi này.


6
Vậy tại sao bạn lại giới thiệu lỗi đánh máy? ;-)
subub

5
Nhưng điều này chỉ đẩy câu hỏi trở lại một chút: tại sao APL gọi chức năng này ?
Daniel H

1
Tôi nghĩ APL đã sử dụng iota bởi vì, ít nhất là trong tiếng Anh, nó có nghĩa là khoảng, số tiền nhỏ nhất có thể đo được (ví dụ: "Tôi không quan tâm đến một iota .").
Adrian McCarthy

Diễn ngôn tuyệt vời! Hãy để tôi nhận xét ở đây về cuộc thảo luận của bạn về "iota" Vs "iote" Vs "jot". Trong ngôn ngữ cổ không có sự phân biệt giữa chữ I và J. J không có trong bảng chữ cái Hy Lạp và không phải là tiếng La Mã, vì vậy về cơ bản cả 3 phiên âm đều được gọi cùng một chữ cái. Bài báo của WP nói rằng: "Cuốn sách tiếng Anh đầu tiên phân biệt rõ ràng giữa ⟨i⟩ và ⟨j⟩ đã được xuất bản năm 1633", muộn hơn 22 năm so với cuốn sách mà bạn đề cập.
Peter K

29

Chữ Hy Lạp đôi khi được sử dụng trong toán học để biểu thị các bộ số hoặc vectơ đơn vị. Trong trường hợp C ++, bạn nhận được một tập vectơ được xây dựng. Không có gì để làm với itoa.


23

std::iota sẽ điền vào một phạm vi lặp với các giá trị tăng dần.

Để trả lời câu hỏi cụ thể của bạn, nó thực sự không đại diện cho bất cứ điều gì. Iota (phát âm là "eye-oh-duh" hoặc "eye-oh-tuh" trong tiếng Anh) là một chữ cái Hy Lạp với ý nghĩa toán học.

Nó là tiêu chuẩn trong C ++ 11, nhưng không phải trong các tiêu chuẩn trước đó.


3
Hầu hết những người không nói tiếng Anh và tôi không phát âm nó là "eye-oh-duh"
phuclv

du thuyền mắt-ah? Tôi không quan tâm đến một iota (tôi thực sự làm vậy) :)
Sẽ

5
@ LưuV ,Phúc của "math--matical")
Martin Bonner hỗ trợ Monica

4

Ồ, tôi luôn có ấn tượng rằng std::iota(start,end,0)về cơ bản là viết tắt của

for(size_t i = 0; i < std::distance(start, end) ; i++) { start[i] = i; }

sau đó bạn về cơ bản "gán i" cho từng thành phần mảng và iota là tiếng Hy Lạp cho i, vì vậy có.

(Tôi sẽ không ngạc nhiên nếu đó là lý do cho sự lựa chọn APL, được đề cập trong câu trả lời của @ robmayoff , mặc dù tôi không biết liệu đó có phải là trường hợp không.)


1

Tôi trích dẫn từ trang này: iotashaming nơi bạn có thể tìm thấy nhiều hơn về chủ đề này.

STL bị ảnh hưởng rất nhiều bởi công việc của Ken Iverson về APL. Trong bài giảng giải thưởng Turing của Ken từ năm 1979, bạn sẽ tìm thấy cụm từ này:

"Ví dụ, hàm số nguyên được biểu thị bởi ι tạo ra một vectơ của số nguyên N đầu tiên."

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.