I’m trying to tart up some logged prepared SQL statements like this:
SELECT col FROM table WHERE a =? AND b =?
PARAMS: 1=‘one’, 2=‘two’
I thought about using a ‘printf’ like this, first alter the SQL
statement to:
sql=“SELECT col FROM table where a=’%s’ AND b=’%s’”
And then do this:
printf(sql,“one”,“two”)
Trouble is I need a variable list as the args: I can’t seem to pass in :
[“one”,“two”] - is there an idiom for this ?
Thanks,
John
Splatted ! Works - Thanks Fred !
Le 02 octobre à 11:58, John Pritchard-williams a écrit :
Trouble is I need a variable list as the args: I can’t seem to pass in :
[“one”,“two”] - is there an idiom for this ?
Splat it.
txt = “%s -> %s\n”
=> “%s -> %s\n”
args = [ “first”, “second” ]
=> [“first”, “second”]
printf(txt, *args)
first -> second
=> nil
txt = “%s -> %s -> %s\n”
=> “%s -> %s -> %s\n”
printf(txt, *[ args, “third” ].flatten)
first -> second -> third
=> nil
Fred
Hi –
On Thu, 2 Oct 2008, F. Senault wrote:
=> [“first”, “second”]
printf(txt, *args)
first -> second
=> nil
txt = “%s -> %s -> %s\n”
=> “%s -> %s -> %s\n”
printf(txt, *[ args, “third” ].flatten)
first -> second -> third
=> nil
And in 1.9 you can do:
[*args, “third”]
David