Pharo Smalltalk星期五印刷版

问题描述 投票:1回答:1

我想从第一年开始打印到1582年(日历在其中更改)第13天和星期五(例如2019年9月13日是星期五)。

我尝试了此代码,但是它不起作用。你能帮我吗?

   #code 
   (Date year:1 month:1 day:1) to:(Date year:1 month:10 day:5)
   do:[:i| 'Friday' weekday and weekdayIndex >>> 5|Transcript show:i ;cr]
calendar smalltalk pharo
1个回答
0
投票

一个非常简单的暴力尝试就是收集例如从1到1582每年的所有十三分之一,然后选择那些星期五:

|thirteenths friday13ths|
thirteenths := (0 to: (12*1582)) collect: [ :each | (Date year:1 month:1 day:13) addMonths: each ].
friday13ths := thirteenths select: [ :each | (each weekday) = 'Friday' ].

集合friday13ths的时间跨度为星期五的所有13号。

© www.soinside.com 2019 - 2024. All rights reserved.