SEDOLs: Difference between revisions
m
→{{header|langur}}
(Added Easylang) |
Langurmonkey (talk | contribs) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 2,368:
=={{header|Kotlin}}==
<syntaxhighlight lang="
val validChars = (('0'..'9') + ('A'..'Z')).toSet() - "AEIOU".toSet()
▲val weights = listOf(1, 3, 1, 7, 3, 9, 1)
fun sedol7(sedol6: String): String {
require(sedol6.all { it in validChars }) {
for (i in 0..5) {▼
val sum = sedol6.map { it.digitToInt(36) }.zip(weights, Int::times).sum()
return sedol6 +
▲ else -> throw IllegalArgumentException("Argument string contains an invalid character")
}▼
}
fun main(
val sedol6s = listOf(
"557910", "B0YBKR", "585284", "B0YBKT", "B00030"
for (sedol6 in sedol6s) println("$sedol6 -> ${sedol7(sedol6)}")▼
}</syntaxhighlight>▼
}
{{out}}
Line 2,411 ⟶ 2,408:
=={{header|langur}}==
{{trans|Go}}
<syntaxhighlight lang="langur">val .csd =
switch len(.code) {
case 0:
Line 2,427 ⟶ 2,424:
val .nums = s2n .code
val .sum = for[=0] .i of .nums {
_for += .nums[.i]
}
Line 2,433 ⟶ 2,430:
}
val .h =
# invalid...
"": 0,
Line 3,207 ⟶ 3,204:
sedol, sedolweight)
)
return str((
for sedol in '''
Line 3,251 ⟶ 3,248:
Right(0)
)
)(lambda d: Right(str((
|