たださのセキュリティチャレンジを始めたばかりで、同時に IO の学習も考えました。だから今、文字列をbase64に変換する必要がある課題1に行き詰まっています。
とにかく、2進数から10進数に変換する必要があるところまで来ました。ここに私のアプローチがあります:
binToDec := method( bin, <-- program does not enter this method
dec := 0
rem := 0
i := 0
while ( bin != 0,
rem = bin % 10
bin = bin / 10
dec = dec + rem * 2 pow( i )
i = i + 1
)
return dec
)
toBase64Ascii := method( slice,
tmp := ""
for( a, 0, slice size, <-- construct a string to use with asNumber
tmp = tmp .. slice at( a )
)
dec := binToDec( tmp asNumber ) <-- the line that make the whole thing crash
)
for ( a, 0, bin size, 6,
tmp := toBase64Ascii( bin slice( a, a + 6 )
***some more code***
)
エラーメッセージなどはありません。プログラムは無期限にハングします。
ドキュメントから: asNumber 数値に変換された受信者を返します。最初の空白は無視されます。
だから私はここでかなり混乱していると言わなければなりません、何が起こっているのですか?
私はもう少し調査を行ったでしょうが、ioはグーグルでは不可能です...