-1

私は次のものを持っています:

table(
  [
    [
      "UnitID",
      "First Name",
      "Last Name",
      "NPS Score",
      "Comments",
      "emotion",
      "polarity"
    ],
    *[
      invite_unitid_arr,
      invite_name_arr,
      invite_lastname_arr,
      nps_score_integers,
      comment_arr,
      SadPanda.emotion(comment_arr),
      SadPanda.polarity(comment_arr)
    ].transpose
  ]
)

ただし、以下SadPanda.emotion(comment_arr)SadPanda.polarity(comment_arr)返します。

undefined method 'gsub!' for #<Array:0x007f8f9b0d40a8>

SadPanda.emotion()配列を転置するだけでなく、配列内の各文字列値にも使用するにはどうすればよいですか?

編集:

明確にするために、これが最終結果として私が望むものです:

[
invite_unitid_arr[0],
invite_name_arr[0],
invite_lastname_arr[0],
nps_score_integers[0],
comment_arr[0],
SadPanda.emotion(comment_arr[0]),
SadPanda.polarity(comment_arr[0])
],

[
invite_unitid_arr[1],
invite_name_arr[1],
invite_lastname_arr[1],
nps_score_integers[1],
comment_arr[1],
SadPanda.emotion(comment_arr[1]),
SadPanda.polarity(comment_arr[1])
]

などなど。メソッドは、配列内のすべての値に対して必要なことを正確に実行しますが、メソッドとメソッドを渡し、配列が転置されるたびにその値をインクリメントする方法.transposeがわかりません。comment_arr[0].emotion.polarity

4

1 に答える 1

0

この問題を解決するには:

new_comment_array_emotion = []
new_comment_array_polarity = []

comment_arr.each do |x|
    new_comment_array_emotion << SadPanda.emotion(x)
    new_comment_array_polarity << SadPanda.polarity(x)
end

table(
  [
    [
      "UnitID",
      "First Name",
      "Last Name",
      "NPS Score",
      "Comments",
      "emotion",
      "polarity"
    ],
    *[
      invite_unitid_arr,
      invite_name_arr,
      invite_lastname_arr,
      nps_score_integers,
      comment_arr,
      new_comment_array_emotion,
      new_comment_array_polarity
    ].transpose
  ]
)

Ruby 内でこれを行うよりクリーンな方法を自由に提案してください。

于 2013-10-15T17:45:33.893 に答える