Skip to content

A printf / sprintf library for Elixir. It works as a wrapper for :io.format.

License

Notifications You must be signed in to change notification settings

parroty/exprintf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExPrintf Build Status

A printf / sprintf library for Elixir. It works as a wrapper for :io.format.

When learning Elixir / Erlang, remembering :io.format style is a little tough. This one can be used as syntax sugar, or an util to convert printf format to Elixir (Erlang) one.

Examples

Basic Usage

defmodule Sample do
  import ExPrintf

  def test do
    printf("number = %d\n", [10])
    # -> number = 10
    IO.puts sprintf("string = %s", ["abc"])
    # -> string = abc

    format = parse_printf("format = %d %.2f\n")
    IO.inspect format
    # -> "format = ~w ~.2f\n"
    :io.format(format, [10, 10.153])
    # -> format = 10 10.15

    IO.puts :io_lib.format(format, [10, 10.153])
    # -> format = 10 10.15
  end
end

Sample.test

Sample Execution

$ mix run sample.ex
number = 10
string = abc
"format = ~w ~.2f\n"
format = 10 10.15

iex

$ git clone git@github.com:parroty/exprintf.git
$ cd exprintf
$ ./run_iex.sh
$ iex(1) -> parse_printf("%d")
"~w"

Dynamo

The following hosts a sample dynamo application for the printf format conversion.

http://dynamo-exprintf.herokuapp.com/

TODO

  • Improve error checking
  • Improve format support coverage
    • sprintf("%05d", [-10]) results in "00-10", instead of "-00010".

About

A printf / sprintf library for Elixir. It works as a wrapper for :io.format.

Resources

License

Stars

Watchers

Forks

Packages

No packages published