The enumerate method in Magik Programming
- 时间:2020-09-16 12:48:17
- 分类:网络文摘
- 阅读:87 次
The Magik programming does not have an inherent enumerate method like Python, however, it would be trivial to make one:
_global enumerate << _iter [email protected](list) _local i << 0 _for x _over list.fast_elements() _loop _loopbody({i, x}) # use simple-vector as a tuple i +<< 1 _endloop _endproc
Please note that the Magik does support the tuple, however, the tuple cannot be assigned to a tuple variable directly.
# tuple assignment works, x is 1 and y is 2 (x, y) << (1, 2)
However, this does not:
a_tuple << (1, 2) # Can only have a tuple on the right hand side if there is one on the left hand side
We can use the simple vector or rope to act as a tuple anyway (Tuples are just immutable array/vectors)
Example usages:
_for a _over enumerate({'a', 'b', 'c'}) _loop print(a) _endloop _global data << rope.new_with('a', 'b', 'c', 'd') _for a _over enumerate(data) _loop print(a) _endloop
And you should expect the following in the Magik console.
simple_vector(1,2): 1 0 2 "a" simple_vector(1,2): 1 1 2 "b" simple_vector(1,2): 1 2 2 "c" simple_vector(1,2): 1 0 2 "a" simple_vector(1,2): 1 1 2 "b" simple_vector(1,2): 1 2 2 "c" simple_vector(1,2): 1 3 2 "d" True 0
For more details on Magik programming, visit Magik Wiki
Similarly, we can implement the enumerate() in Javascript: The enumerate function in Javascript
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:How Does C++ STL min_element, max_element, minmax_element work f Using the External Fan to Cool the Hot AMD Radeon HD 6700 Graphi Algorithms to Compute the Dot Product of Two Sparse Vectors Algorithms to Compute the Largest Time for Given Digits How to Use Hash Map to Count the Frequencies of Values and Itera Ordered Three 2TB WD HDD to prolong the life expectancy of HPZ80 HPZ800 Server Does Not Support Hard Drives Larger Than 2TB Fresno Blogger Changing The Vegan Blogging Scene Russian ‘Pokemon Go’ Blogger Goes On Trial Starting a Blog? 5 Topics People Care About in 2017
- 评论列表
-
- 添加评论