ブロックの中でのpメソッドの使用について
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を使いたい。