p (0..10).map{|n| 1 == 1}

の結果は
[true, true, true, true, true, true, true, true, true, true, true]
ですが、eachの中でのpメソッドの使用した

(3..8).each{|p|
  p (0..10).map{|n| 1 == 1}
}

の結果は
0..10
0..10
0..10
0..10
0..10
0..10
となってしまいます。
このことを回避するために、

(3..8).each{|p|
  p ((0..10).map{|n| 1 == 1})
}

としたのですが、どうして上記のようなことが起こるのか教えてください。
また、修正の仕方は②で良かったのか教えていただければ幸いです。

(追記)
1.(②以外の修正を行う場合の)要件
質問の都合上条件の式を 1==1 としていますが、
本当は 変数pに関する数式が入るので、
できれば変数はpのままにしておきたい。
2.背景
プログラミングの話でなく、数学の話になって恐縮ですが、
p進数(https://ja.wikipedia.org/wiki/P%E9%80%B2%E6%95%B0
というものがあります。
pという記号を使うのが慣例のようなものです。
よって、プログラミングではiでもpでもどちらでもよいのですが、
数学でpを使用している以上なるべ‌​くpを使いたい。