Thanks, everybody!

On Thu, Oct 31, 2013 at 1:00 AM, [email protected] <[email protected]>wrote:

> Closest match is with the Printf package (
> http://www.squeaksource.com/Printf)
>
> example:
>
> now := DateAndTime now.
> filename := '%s-%04d%02d%02d_%02d%02d.ston' printf: { self name. now year.
> now month. now dayOfMonth. now hour. now minutes.}.
>
> I am coming from C, so, yes, I like printf. (Can't help thinking about
> PRINT USING "#####.##" of old :-)
> http://www.colorcomputerarchive.com/coco/Documents/Manuals/Hardware/Getting%20Started%20With%20Extended%20Color%20Basic%20(Tandy).pdf
>  p187
> - 1983)
>
> Phil
>
>
>
> On Wed, Oct 30, 2013 at 11:11 PM, Sven Van Caekenberghe <[email protected]>wrote:
>
>>
>> On 30 Oct 2013, at 22:46, Nicolas Cellier <
>> [email protected]> wrote:
>>
>> > Why not a more discriminating example, like '19991231’?
>>
>> From the class comment:
>>
>> …
>> You instanciate me by specifying the textual format by example, based on
>> a #reference timetamp.
>>
>> Each component of the example representation is numbered from largest to
>> smallest unit, 1=year, 2=month, 3=dayInMonth, 4=hour (16 in 24 hour
>> format), 5=minute and 6=second, as in the ISO representation:
>> 2001-02-03T16:05:06Z which is a Saterday. Example format strings can be
>> found in my class accessing protocol or in the unit tests.
>> …
>>
>> But of course, internally there is less magic: it are just specific
>> keys/tokens that are recognised ;-) The example is kind of compiled though
>> to make it more efficient should you reuse the format.
>>
>> > 2013/10/30 Sven Van Caekenberghe <[email protected]>
>> > Hi Blake,
>> >
>> > On 30 Oct 2013, at 21:55, blake <[email protected]> wrote:
>> >
>> > > Heya, guys--
>> > >
>> > > Converting a Ruby program to Pharo, and one of the things this
>> program does is write a file out by date. The format is "yyyymmdd" (which
>> is my preferred naming convention). In Ruby I have:
>> > >
>> > > "%04d" % d.year + "%02d" % d.month + "%02d" % d.day
>> > >
>> > > In Smalltalk, the closest I can seem to get to this is:
>> > >
>> > > d year asString, (d monthIndex asString padLeftTo: 2 with: $0), (d
>> dayOfMonth asString padLeftTo: 2 with: $0)
>> > >
>> > > ...which seems sort verbose. Anyone have any more elegant solutions?
>> >
>> > Using the ‘by example’ formatter/parser that is part of the ZTimestamp
>> package (can be loaded using the Configuration Browser), you could say:
>> >
>> >   (ZTimestampFormat fromString: '20010203') format: Date today.
>> >
>> > Although it is called ZTimestampFormat, it can actually work with Date,
>> Time, DateAndTime as well.
>> >
>> > Sven
>> >
>>
>>
>>
>

Reply via email to