如何阻止Elixir将\ n解释为docstring中的换行符?

时间:2016-04-13 14:35:03

标签: elixir

我正在为函数编写文档字符串,在示例部分中,我想展示它如何与换行符交互。例如:

defmodule FooModule do
  @doc """
  Checks whether input is a newline symbol.

  ## Examples
      > newline? "\n"
      true
      > newline? "abc"
      false
  """
  def newline?("\n") do true end
  def newline?(input) when is_binary(input) do false end
end

这就是它在iex中的表现:

iex(31)> h FooModule.newline?

                              def newline?(input)                               

Checks whether input is a newline symbol.

Examples

┃ > newline? "

"

┃ true
┃ > newline? "abc"
┃ false

我该如何解决?在elixir中是否有原始字符串的替代方法?在Python中,我可以编写foo = r"C:\Program Files\new program",它将包含斜杠和符号n。

1 个答案:

答案 0 :(得分:4)

尝试使用sigil_S/2

{{1}}
  

处理sigil~S。

     

它只返回一个字符串,没有转义字符而没有插值。