Mathematica 54 41バイト
LegionMammal978からの13バイトを節約する絶対に賢い提案があります。
If[#>0,FromLetterNumber,,LetterNumber]@#&
If[#>0,FromLetterNumber,,LetterNumber]
入力するFromLetterNumber
かLetterNumber
、入力するかを決定するという唯一の目的を果たします。
#>0
入力#
が数値の場合に満たされ、その場合FromLetterNumber
は選択されます。
ただし、文字の#>0
場合#
は真でも偽でもないため、LetterNumber
代わりに選択されます。
If[#>0,FromLetterNumber,,LetterNumber]@#&["d"]
4
If[#>0,FromLetterNumber,,LetterNumber]@#&[4]
d
MathematicaではFromLetterNumber
、LetterNumber
他のアルファベットでも動作します。これには、あと数バイトしか必要ありません。
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[4, "Greek"]
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[4, "Russian"]
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[4, "Romanian"]
δ
г
B
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[δ, "Greek"]
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[г, "Russian"]
If[# > 0, FromLetterNumber, , LetterNumber][#, #2] &[b, "Romanian"]
4
4
4