그래서 스몰 토크에서 카이사르 암호 코드를 얻을 방법을 만들고 그래서 그것을 이미 클래스가 만든는 카이사르 암호 방법
|aString|
aString:=Caesar new encrypt: 'CAESAR'.
Transcript show: aString.
에 다음과 같은 시험을 수행 할 수 있습니다를 사용해야합니다. 그러나 나는 그것의 방법을 만들 필요가있다.
나는 이것을 발견했다. 그러나 나는 놀이터에서 위의 모든 코드를 할 수 있도록이 방법을 어떻게 만들 수 있을까?
| i c strCipherText strText iShiftValue iShift |
strText := 'the quick brown fox jumps over the lazy dog'.
iShiftValue := 3.
strCipherText := ''.
iShift := iShiftValue \\ 26.
i := 1.
[ i <= (strText size) ]
whileTrue: [
c := (strText at: i) asUppercase.
((c >= $A) & (c <= $Z))
ifTrue: [
((c asciiValue) + iShift > $Z asciiValue)
ifTrue: [
strCipherText := strCipherText, (((c asciiValue) + iShift - 26)
asCharacter asString).
]
ifFalse: [
strCipherText := strCipherText, (((c asciiValue) + iShift)
asCharacter asString).
].
]
ifFalse: [
strCipherText := strCipherText, ' '.
].
i := i + 1.
].
Transcript show: strCipherText.
Transcript cr.
그래서 일을 명확하게하기 위해, 나는 카이사르 암호 코드를 사용하는 방법을하고 시작 부분에 "aString"코드를 사용하고 그것을 테스트해야합니다. 위의 코드가 있지만 이미 텍스트가 들어있어 메서드에 넣을 수 없습니다.
도움이 될 것입니다.
물론 메서드에 넣을 수 있습니다. 'strText'를 메소드 인자로 바꾸기 만하면됩니다. 예를 들어,이 메소드는'#myCaesorCodeOf :'라고 불릴 수 있으며 'aString'이라는 하나의 인수를 취합니다. –
@MaxLeske 저는 pharo와 작은 대화를 처음 사용하기 때문에 그렇게하는 법을 모릅니다. –