Calendar - for "REAL" programmers: Difference between revisions

Content added Content deleted
m (→‎{{header|Wren}}: Minor tidy)
imported>Arakov
Line 1,077: Line 1,077:
_date := Date.new(_year, _month, 1);
_date := Date.new(_year, _month, 1);


DayNames.forEach:(name)
DayNames.forEach::(name)
{ _line.print(" ",name) }
{ _line.print(" ",name) }
}
}
Line 1,095: Line 1,095:
_line.writePaddingLeft(_date.Day.toPrintable(), $32, 3);
_line.writePaddingLeft(_date.Day.toPrintable(), $32, 3);


_date := _date.addDays:1
_date := _date.addDays(1)
}
}
until(_date.Month != _month || _date.DayOfWeek == 1)
until(_date.Month != _month || _date.DayOfWeek == 1)
Line 1,167: Line 1,167:
var rowCount := 12 / _rowLength;
var rowCount := 12 / _rowLength;
var months := Array.allocate(rowCount).populate:(i =>
var months := Array.allocate(rowCount).populate::(i =>
Array.allocate(_rowLength)
Array.allocate(_rowLength)
.populate:(j =>
.populate::(j =>
new CalendarMonthPrinter(_year, i * _rowLength + j + 1)));
new CalendarMonthPrinter(_year, i * _rowLength + j + 1)));
months.forEach:(row)
months.forEach::(row)
{
{
var r := row;
var r := row;
row.forEach:(month)
row.forEach::(month)
{
{
month.printTitleTo:output;
month.printTitleTo(output);
output.write:" "
output.write(" ")
};
};
output.writeLine();
output.writeLine();
ParallelEnumerator.new(row).forEach:(line)
ParallelEnumerator.new(row).forEach::(line)
{
{
line.forEach:(printer)
line.forEach::(printer)
{
{
printer.printTo:output;
printer.printTo(output);


output.write:" "
output.write(" ")
};
};


Line 1,202: Line 1,202:
public program()
public program()
{
{
var calender := Calendar.new(console.write:"ENTER THE YEAR:".readLine().toInt());
var calender := Calendar.new(console.write("ENTER THE YEAR:").readLine().toInt());
calender.printTo:console;
calender.printTo(console);


console.readChar()
console.readChar()