私はプログラムを作ったので、可能なすべての文字を配列に入れる必要があります。ここ 私はちょうどなぜ私は必要なすべての文字を配列の中に入れませんか?
print "write your name: "
name1 = gets.chomp
が、私はあなたの名前はジョンであれば、たとえば、配列内のすべての文字を入れてみてください名前を読み取るために、私の変数を作成し、配列は次のようになります。J、ジョー、ヨハ、ジョン
arrayNames = []
number = name1.length
number.times {|i|
arrayNames[i] = name1.slice(0,i)
}
arrayNames << name1
、その後、私は順列プログラムを作りたいと思って、それを読むために、私は書き込み:私はfile1が作った
もちろんのnumb = name1.length+ 1
numb2 = anotherVariable.length + 1
numb.times {|j|
numb2.times {|k|
perm = [arrayNames[j],theSecondArray[k]]
p perm
file1.puts
}
}
、と私は二番目の配列の股関節のためのまったく同じコードを持っていますn arrayNames
が動作していません。それはエラーを表示しません。すべてのコードを一緒に下に置く
class Data
def initialize
end
def dataIn
print "write your name: "
$name = gets.chomp
print "write your surname: "
$surname = gets.chomp
end
def dataName
$passwordName = []
numb = $name.length
numb.times {|i|
$passwordName[i] = $name.slice(0,i)
$passwordName << $name
end
def dataSurn
$passwordSur = []
numb = $surname.length
numb.times {|i|
$passwordSur[i] = $surname.slice(0,i)
}
$passwordSur << $surname
end
def alg1
numb = $name.length + 1
numb2 = $surname.length + 1
numb.times {|i|
numb2.times {|j|
perm = [$passwordName[i], $passwordSur[j]].permutation.map {|k|
k.join}
p perm
$archivos.puts perm
}
}
end
end
コード自体はもう少し複雑ですが、私の質問は同じです。メソッドALG1 doesntの私はちょうど
data = Data.new()
datos.dataIn
$archivos = File.new("passwords",'w+')
File.open("passwords")
data.datosName
data.datosSurn
data.alg1
gets()
rubyシェルでコマンドを1行ずつ実行しましたか?プロセス内のarrayNames(または麻痺)の値は何で表示されますか?また、slice(0、i)の値の語は 'prefix' –
はいでした。私がそれを置いたときに働いたスライス(0、私)と配列名は、前に言ったことを示しています。 – marcos
最後の部分は何が起こっていないのですか?第3のもの – marcos