@@ -287,60 +287,63 @@ module internal PrintfImpl =
287
287
member env.RunSteps ( args : obj [], steps : Step []) =
288
288
let mutable argIndex = 0
289
289
290
- for step in steps do
291
- match step with
292
- | Step ( prefix, conv1) ->
293
- env.WriteSkipEmpty( prefix)
294
- env.Write(& argIndex, args, conv1)
295
-
296
- | StepString prefix ->
297
- env.WriteSkipEmpty( prefix)
298
-
299
- | StepLittleT( prefix) ->
300
- env.WriteSkipEmpty prefix
301
- let farg = args.[ argIndex]
302
- argIndex <- argIndex + 1
303
- let f = farg :?> ( 'State -> 'Residue)
304
- env.WriteT( f env.State)
305
-
306
- | StepLittleA( prefix) ->
307
- env.WriteSkipEmpty prefix
308
- let farg = args.[ argIndex]
309
- argIndex <- argIndex + 1
310
- let arg = args.[ argIndex]
311
- argIndex <- argIndex + 1
312
- let f = farg :?> ( 'State -> obj -> 'Residue)
313
- env.WriteT( f env.State arg)
314
-
315
- | StepStar1( prefix, conv) ->
316
- env.WriteSkipEmpty prefix
317
- let star1 = args.[ argIndex] :?> int
318
- argIndex <- argIndex + 1
319
- let arg1 = args.[ argIndex]
320
- argIndex <- argIndex + 1
321
- env.Write ( conv arg1 star1)
322
-
323
- | StepPercentStar1( prefix) ->
324
- //let _star1 = args.[argIndex] :?> int
325
- argIndex <- argIndex + 1
326
- env.WriteSkipEmpty prefix
327
- env.Write( " %" )
328
-
329
- | StepStar2( prefix, conv) ->
330
- env.WriteSkipEmpty prefix
331
- let star1 = args.[ argIndex] :?> int
332
- argIndex <- argIndex + 1
333
- let star2 = args.[ argIndex] :?> int
334
- argIndex <- argIndex + 1
335
- let arg1 = args.[ argIndex]
336
- argIndex <- argIndex + 1
337
- env.Write ( conv arg1 star1 star2)
338
-
339
- | StepPercentStar2( prefix) ->
340
- env.WriteSkipEmpty prefix
341
- //let _star1 = args.[argIndex] :?> int
342
- argIndex <- argIndex + 2
343
- env.Write( " %" )
290
+ match steps with
291
+ | [| StepString one |] -> env.Write( one)
292
+ | _ ->
293
+ for step in steps do
294
+ match step with
295
+ | Step ( prefix, conv1) ->
296
+ env.WriteSkipEmpty( prefix)
297
+ env.Write(& argIndex, args, conv1)
298
+
299
+ | StepString prefix ->
300
+ env.WriteSkipEmpty( prefix)
301
+
302
+ | StepLittleT( prefix) ->
303
+ env.WriteSkipEmpty prefix
304
+ let farg = args.[ argIndex]
305
+ argIndex <- argIndex + 1
306
+ let f = farg :?> ( 'State -> 'Residue)
307
+ env.WriteT( f env.State)
308
+
309
+ | StepLittleA( prefix) ->
310
+ env.WriteSkipEmpty prefix
311
+ let farg = args.[ argIndex]
312
+ argIndex <- argIndex + 1
313
+ let arg = args.[ argIndex]
314
+ argIndex <- argIndex + 1
315
+ let f = farg :?> ( 'State -> obj -> 'Residue)
316
+ env.WriteT( f env.State arg)
317
+
318
+ | StepStar1( prefix, conv) ->
319
+ env.WriteSkipEmpty prefix
320
+ let star1 = args.[ argIndex] :?> int
321
+ argIndex <- argIndex + 1
322
+ let arg1 = args.[ argIndex]
323
+ argIndex <- argIndex + 1
324
+ env.Write ( conv arg1 star1)
325
+
326
+ | StepPercentStar1( prefix) ->
327
+ //let _star1 = args.[argIndex] :?> int
328
+ argIndex <- argIndex + 1
329
+ env.WriteSkipEmpty prefix
330
+ env.Write( " %" )
331
+
332
+ | StepStar2( prefix, conv) ->
333
+ env.WriteSkipEmpty prefix
334
+ let star1 = args.[ argIndex] :?> int
335
+ argIndex <- argIndex + 1
336
+ let star2 = args.[ argIndex] :?> int
337
+ argIndex <- argIndex + 1
338
+ let arg1 = args.[ argIndex]
339
+ argIndex <- argIndex + 1
340
+ env.Write ( conv arg1 star1 star2)
341
+
342
+ | StepPercentStar2( prefix) ->
343
+ env.WriteSkipEmpty prefix
344
+ //let _star1 = args.[argIndex] :?> int
345
+ argIndex <- argIndex + 2
346
+ env.Write( " %" )
344
347
345
348
env.Finish()
346
349
0 commit comments