Last Friday of each month: Difference between revisions

"shell bourne" -> "UNIX Shell"
(shell code)
("shell bourne" -> "UNIX Shell")
Line 360:
end</lang>
 
=={{header|Shell BourneTcl}}==
<lang tcl>package require Tcl 8.5
set year [lindex $argv 0]
foreach dm {02/1 03/1 04/1 05/1 06/1 07/1 08/1 09/1 10/1 11/1 12/1 12/32} {
# The [clock scan] code is unhealthily clever; use it for our own evil purposes
set t [clock scan "last friday" -base [clock scan $dm/$year -gmt 1] -gmt 1]
# Print the interesting part
puts [clock format $t -format "%Y-%m-%d" -gmt 1]
}</lang>
Sample execution:
<pre>
$ tclsh8.5 lastfri.tcl 2012
2012-01-27
2012-02-24
2012-03-30
2012-04-27
2012-05-25
2012-06-29
2012-07-27
2012-08-31
2012-09-28
2012-10-26
2012-11-30
2012-12-28
</pre>
 
=={{header|TclUNIX Shell}}==
<lang sh>
 
<lang bash>#!/bin/sh
 
# Free code, no limit work
Line 432 ⟶ 457:
 
# main
last_fridays ${1:-2012}</lang>
 
</lang>
 
Sample execution:
<pre>
lastfridays 2012
2012-01-27
2012-02-24
2012-03-30
2012-04-27
2012-05-25
2012-06-29
2012-07-27
2012-08-31
2012-09-28
2012-10-26
2012-11-30
2012-12-28
</pre>
 
=={{header|Tcl}}==
<lang tcl>package require Tcl 8.5
set year [lindex $argv 0]
foreach dm {02/1 03/1 04/1 05/1 06/1 07/1 08/1 09/1 10/1 11/1 12/1 12/32} {
# The [clock scan] code is unhealthily clever; use it for our own evil purposes
set t [clock scan "last friday" -base [clock scan $dm/$year -gmt 1] -gmt 1]
# Print the interesting part
puts [clock format $t -format "%Y-%m-%d" -gmt 1]
}</lang>
Sample execution:
<pre>
$ tclsh8.5 lastfri.tcl 2012
2012-01-27
2012-02-24
Anonymous user