まず、Morseコードと各アルファベット、数字、記号の対応関係を持つ辞書を作成します。以下は例です。
let morseCodeDict = [
"A": ".-", "B": "-...", "C": "-.-.", "D": "-..", "E": ".", "F": "..-.", "G": "--.", "H": "....", "I": "..", "J": ".---",
"K": "-.-", "L": ".-..", "M": "--", "N": "-.", "O": "---", "P": ".--.", "Q": "--.-", "R": ".-.", "S": "...", "T": "-",
"U": "..-", "V": "...-", "W": ".--", "X": "-..-", "Y": "-.--", "Z": "--..",
"0": "-----", "1": ".----", "2": "..---", "3": "...--", "4": "....-", "5": ".....", "6": "-....", "7": "--...", "8": "---..", "9": "----.",
".": ".-.-.-", ",": "--..--", "?": "..--..", "'": ".----.", "!": "-.-.--", "/": "-..-.", "(": "-.--.", ")": "-.--.-", "&": ".-...",
":": "---...", ";": "-.-.-.", "=": "-...-", "+": ".-.-.", "-": "-....-", "_": "..--.-", "\"": ".-..-.", "$": "...-..-", "@": ".--.-.", " ": "/"
]
次に、与えられた文字列をMorseコードに変換する関数を作成します。以下は例です。
func convertToMorseCode(_ text: String) -> String {
let uppercaseText = text.uppercased()
var morseCode = ""
for char in uppercaseText {
if let code = morseCodeDict[String(char)] {
morseCode += code + " "
}
}
return morseCode
}
この関数は、与えられた文字列を大文字に変換し、1文字ずつ処理して対応するMorseコードに変換します。変換したMorseコードはスペースで区切られて連結されます。
例えば、以下のように呼び出すことで文字列をMorseコードに変換することができます。
let text = "Hello, World!"
let morseCode = convertToMorseCode(text)
print(morseCode) // ".... . .-.. .-.. --- --..-- / .-- --- .-. .-.. -.. -.-.--"
このようにして、与えられた文字列をMorseコードに変換する方法を紹介しました。Swiftの辞書を使うことで、対応関係を効率的に管理し、文字列変換を行うことができます。是非、この方法を参考にしてみてください。