私は現在、難読化された短いマンデルブロセットコードを1つのライナーにすることを試みていますが、私はそうすることに多くの問題があります。 \これをRubyのワンライナーに変換する
これはoriginally written in Pythonでしたが、Pythonの制限により、コードを1行に圧縮できませんでした。だから私はRubyを試してみるつもりです。私は言語に精通していますが、私はブロックを使用することにあまり熟練していません - それは私が問題を抱えている場所です。
とにかく、私は "変換" するコードは、私がRubyで書き換えしようとしてきました
for q in range(801):
if q%40==0:print s;s=''
i,k=0,0
while(abs(k)<2*(i<15)):k,i=k**2+complex(q%40*.075-2,q/40*-.1+1),i+1
s+=h[i/3]
は...ある
エラーがスローされますh,s='.;*&8#',''
0.upto(800).each {|q|
if !q%40
s=''
p s
end
i,k=0,0
while(k.abs<2*(i<15))
k,i=k**2+Complex(q%40*0.075-2,q/40*-0.1+1),i+1
end
s+=h[i/3]
}
Line 2:in `upto': no block given (LocalJumpError)
from t.rb:2
これを並べ替えた後、さらに1行に短縮したいと思います。どの私は...ここに
h,s='.;*&8#','';0.upto(800).each {|q| if !q%40 then s='';p s end;i,k=0,0;while(k.abs<2*(i<15))do k,i=k**2+Complex(q%40*0.075-2,q/40*-0.1+1),i+1 end}
を始めました。しかし、いずれにせよ、私はちょうど楽しみのためにこれをやって、その過程で多くのRubyの少しを学ぶことを願っています。だから、誰かが私にこのエラーを投げることを説明することができれば、それは素晴らしいだろう。
私は 'no block given'エラーを再現できません。 –