История изменений
Исправление
merhalak,
(текущая версия)
:
Да, я в курсе про него. Мне просто больше нравится PEP 484 стиль кода, который больше похож на это (Nim)
import macros, strutils
macro toEnum(words: static[string]): untyped =
result = newTree(nnkEnumTy, newEmptyNode())
for w in splitWhitespace(words):
result.add ident(w)
type
Color = toEnum"Red Green Blue Indigo"
var color = Indigo
Нежели на это (Cython)
def primes(unsigned int nb_primes):
cdef int n, i
cdef vector[int] p
p.reserve(nb_primes) # allocate memory for 'nb_primes' elements.
n = 2
while p.size() < nb_primes: # size() for vectors is similar to len()
for i in p:
if n % i == 0:
break
else:
p.push_back(n) # push_back is similar to append()
n += 1
# Vectors are automatically converted to Python
# lists when converted to Python objects.
return p
Хотя разница всего ничего, конечно.
Но если учитывать вкусовщину - я бы предпочёл Nim.
Хотя ни на том, ни на другом я пока что программировать не собираюсь, мне хватает моей необъятной Java и, ради хобби, Go.
Хотя посмотрел на первый пример с применением макро, и что-то Nim трогать тоже расхотелось как-то. :D
Исправление
merhalak,
:
Да, я в курсе про него. Мне просто больше нравится PEP 484 стиль кода, который больше похож на это (Nim)
import macros, strutils
macro toEnum(words: static[string]): untyped =
result = newTree(nnkEnumTy, newEmptyNode())
for w in splitWhitespace(words):
result.add ident(w)
type
Color = toEnum"Red Green Blue Indigo"
var color = Indigo
Нежели на это (Cython)
def primes(unsigned int nb_primes):
cdef int n, i
cdef vector[int] p
p.reserve(nb_primes) # allocate memory for 'nb_primes' elements.
n = 2
while p.size() < nb_primes: # size() for vectors is similar to len()
for i in p:
if n % i == 0:
break
else:
p.push_back(n) # push_back is similar to append()
n += 1
# Vectors are automatically converted to Python
# lists when converted to Python objects.
return p
Хотя разница всего ничего, конечно.
Но если учитывать вкусовщину - я бы предпочёл Nim.
Хотя ни на том, ни на другом я пока что программировать не собираюсь, мне хватает моей необъятной Java и, ради хобби, Go.
Исходная версия Deleted, :
Да, я в курсе про него. Мне просто больше нравится PEP 484 стиль кода, который больше похож на это (Nim)
import macros, strutils
macro toEnum(words: static[string]): untyped =
result = newTree(nnkEnumTy, newEmptyNode())
for w in splitWhitespace(words):
result.add ident(w)
type
Color = toEnum"Red Green Blue Indigo"
var color = Indigo
Нежели на это (Cython)
def primes(unsigned int nb_primes):
cdef int n, i
cdef vector[int] p
p.reserve(nb_primes) # allocate memory for 'nb_primes' elements.
n = 2
while p.size() < nb_primes: # size() for vectors is similar to len()
for i in p:
if n % i == 0:
break
else:
p.push_back(n) # push_back is similar to append()
n += 1
# Vectors are automatically converted to Python
# lists when converted to Python objects.
return p
Хотя разница всего ничего, конечно.