Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # main.nim
- import sequtils, math
- iterator efibs: int {. closure .} =
- var prev = 1
- var cur = 2
- yield 1
- yield 2
- while true:
- let sum = prev + cur
- prev = cur
- cur = sum
- yield sum
- proc until( iter: iterator: int,
- stopAt: int
- ): iterator: int {. closure .} =
- return iterator: int =
- for i in iter():
- if i <= stopAt: yield i
- else: break
- proc isEven(i:int):bool = (i mod 2) == 0
- echo efibs.until(4_000_000)()
- .toSeq()
- .filter(isEven)
- .sum()
- #[ command line output
- jesse@yubintoo:~/src/blockout$ nim c main.nim
- Hint: used config file '/home/jesse/nim/config/nim.cfg' [Conf]
- Hint: system [Processing]
- Hint: main [Processing]
- Hint: sequtils [Processing]
- Hint: math [Processing]
- CC: main
- Error: execution of an external compiler program 'gcc -c -w -I/home/jesse/nim/lib -o /home/jesse/src/blockout/nimcache/main.o /home/jesse/src/blockout/nimcache/main.c' failed with exit code: 1
- /home/jesse/src/blockout/nimcache/main.c: In function ‘NimMainModule’:
- /home/jesse/src/blockout/nimcache/main.c:582:44: error: redeclaration of ‘efibs’ with no linkage
- Env_maindotnim__exfSYnGAibIzlFbeF0CX8w* efibs;
- ^
- /home/jesse/src/blockout/nimcache/main.c:579:44: note: previous declaration of ‘efibs’ was here
- Env_maindotnim__exfSYnGAibIzlFbeF0CX8w* efibs;
- ^
- jesse@yubintoo:~/src/blockout$ nim --version
- Nim Compiler Version 0.17.0 (2017-05-17) [Linux: amd64]
- Copyright (c) 2006-2017 by Andreas Rumpf
- git hash: d3f0f87e81e262ee25fd528aae5b6db0bdf78d5e
- active boot switches: -d:release
- ]#
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement