Formulae.Combinators.permutations/2 想要一个实际的整数而不是变量

Formulae.Combinators.permutations/2 wants an actual integer and not a variable

代码:

require Formulae.Combinators

def permutations(trains, train_stations)
    when is_list(trains) and
          is_list(train_stations) do
  number_of_trains = length(trains)
  Formulae.Combinators.permutations(train_stations, number_of_trains)
end

错误:

** (ArgumentError) ranges (first..last) expect both sides to be integers, got: 
{:number_of_trains, [line: 86], nil}..1
(elixir 1.10.2) lib/range.ex:63: Range.new/2
expanding macro: Formulae.Combinators.permutations/2
lib/trains.ex:86: Trains.permutations/2

但是 https://hexdocs.pm/formulae/Formulae.Combinators.htmlpermutations(l, n) n 应该是一个整数,length(trains) returns 是一个整数。 Formulae.Combinators.permutations(train_stations, 2) 工作正常。

我的错误是什么?我该如何解决?

同时,我更新了库以支持 dynamic numbers

使用生成的: