LibDeformat-3.0

This project is abandoned.

Whether this project is out of date or its author marked it as abandoned, this project is no longer maintained.

If you wish to take this project over, please report it and state your intentions.

This library will convert a fully-formatted text string to its original arguments given a format string.

It is essentially the opposite of string.format.

local LibDeformat = LibStub("LibDeformat-3.0")

LibDeformat("Hello, friend", "Hello, %s") => "friend"
LibDeformat("Hello, friend", "Hello, %1$s") => "friend"
LibDeformat("Cost: $100", "Cost: $%d") => 100 -- note that it converted it back to a number
LibDeformat("Cost: $100", "Cost: $%1$d") => 100
LibDeformat("Alpha, Bravo", "%s, %s") => "Alpha", "Bravo"
LibDeformat("Alpha, Bravo", "%1$s, %2$s") => "Alpha", "Bravo"
LibDeformat("Alpha, Bravo", "%2$s, %1$s") => "Bravo", "Alpha" -- this can happen in foreign languages
LibDeformat("Hello, friend", "Cost: $%d") => nil -- nil is returned when there is no match

LibDeformat-3.0 API

You must login to post a comment. Don't have an account? Register to get one!

  • 1 comment
  • Avatar of jerry jerry Jan 05, 2010 at 10:13 UTC - 0 likes

    As http://www.lua.org/pil/17.html (look at the last paragraph), you can't have a table with strings as weak keys.

    When I adapted LibItemBonus to LibStub, I had to drop Deformat and use my own solution. After some refinement, I finally got a working solution (GetPattern) which does pretty much what LibDeformat-3.0 does, except without caching. (The API returns a callable that can be reused to check new strings). i.e:

    local handler = GetPattern("Hello, %s")
    
    print(handler("Hello, friend")) => "friend"
    

    Look at the GetPattern implementation from the Core.lua file in LibItemBonus-2.0 for details.

  • 1 comment

Table of contents

  1. 1 LibDeformat-3.0 API

Facts

Date created
Jan 04, 2010
Category
Last update
Jan 04, 2010
Development stage
Abandoned
Language
  • enUS
License
MIT License
Reverse relationships
1
Downloads
5,729
Recent files

Authors