通常,代码不那么可读,因为参数始终位于函数名称的末尾。例如:addDaysToDate(5, myDate)
。
我想到了这样的可读性更好的语法:
function add(days)DaysTo(date) {
// Some implementation
}
var myDate = new Date()
add(5)DaysTo(myDate)
您可能会发疯:
addA(5)('dollar')CouponTo(order)If(user)IsLoggedIn
所以这是我的问题:是否有任何包含此概念的语言?
假设对短语“存在”进行了慷慨的解释,那么:Algol 60可能看起来像您的示例。具体来说,它允许在过程参数中使用一种注释形式。
add(5) Days To: (myDate);
语法中允许这样做的特定规则是:
<parameter delimiter> ::= , | ) <letter string> : (
也就是说,过程语句中的参数可以用逗号分隔(通常)或用)
和:(
分隔的任意字母序列。
空格无处不在,因此在这里也可以。
字母字符串被视为注释,因此对于所有注释,它与代码的实际作用无关。这与前面的示例一样有效:
add(5) Bananas To: (myDate);
[我似乎很奇怪,在我上次使用此工具后将近45年,注释部分只能包含字母,不能包含数字。
<letter string> ::= <letter> | <letter string> <letter>