私はデータベースから特定の情報を取得するためにrubyに次の関数を持っています。
#Setup
require "mysql2"
@client = Mysql2::Client.new(:host => "127.0.0.1", :username => "root", :password => "password")
query = "use project1"
@client.query(query)
def nodeslastactive
query = "SELECT nodeid FROM nodes WHERE lastactive = #{@clock-1}"
result = @client.query(query)
if result.size == 0
return nil
else
resultarray = Array.new
result.each do |row|
resultarray.push(row["nodeid"])
end
end
end
これはこのコードで利用されます:
lastactivenodes = nodeslastactive
if lastactivenodes != nil
lastactivenodes.each do |lastactivenode|
connect(node,lastactivenode)
end
end
私が得ている問題は、接続が2番目のコードブロックで確立される{"nodeid"=>xxxxx}
と、ハッシュからすべてのハッシュ値を1番目のコードブロックの配列にコピーしたにもかかわらず、関数がノードを値に接続しようとすることです。 2番目のブロックによる処理。助言がありますか?