SHOW:
|
|
- or go back to the newest paste.
| 1 | - | proc first(arr: openArray[int]): int = arr[0] |
| 1 | + | template cut(s: string, left: Natural = 0, right: Natural = 0): string = |
| 2 | s[left .. ^(right + 1)] | |
| 3 | - | proc addone[T](arr: array[T, int]): array[T, int] = |
| 3 | + | |
| 4 | - | for i, v in arr: |
| 4 | + | echo cut("Hello World", right = 6)
|
| 5 | - | result[i] = v + 1 |
| 5 | + | echo cut("Hello World", left = 6)
|
| 6 | echo cut("Hello World", left = 4, right = 4)
| |
| 7 | - | proc main = |
| 7 | + | |
| 8 | - | let a = [0, 1, 2, 3] |
| 8 | + | #[ |
| 9 | >nim c -r strslice.nim | |
| 10 | - | # All the followings are correct and equivalent |
| 10 | + | Hint: used config file 'C:\Program Files\Nim\config\nim.cfg' [Conf] |
| 11 | - | let |
| 11 | + | Hint: used config file 'C:\Users\Fredrik\AppData\Roaming\nim.cfg' [Conf] |
| 12 | - | b = first(a) |
| 12 | + | Hint: system [Processing] |
| 13 | - | c = a.first() |
| 13 | + | Hint: strslice [Processing] |
| 14 | - | d = a.first |
| 14 | + | strslice.nim(4, 9) Error: type mismatch: got (string, Slice[system.Natural]) |
| 15 | but expected one of: | |
| 16 | - | # Chaining |
| 16 | + | proc `[]`[Idx, T](a: array[Idx, T]; x: Slice[Idx]): seq[T] |
| 17 | - | let e = a.addone().addone() |
| 17 | + | proc `[]`(s: string; x: Slice[int]): string |
| 18 | proc `[]`[T](s: seq[T]; x: Slice[int]): seq[T] | |
| 19 | proc `[]`[I: Ordinal, T](a: T; i: I): T | |
| 20 | proc `[]`[Idx, T](a: array[Idx, T]; x: Slice[int]): seq[T] | |
| 21 | ]# |