# くだすれPython(超初心者用) その31
# http://e...content-available-to-author-only...h.net/test/read.cgi/tech/1476246889/381
$DEBUG = true
SRC = '11 + 45 * 1 - 4'
ARR = [1, 2, 3, 4, 5, 6, 7, 8, 9]
p SRC.split(/ +/).inject([0, []]) { |(i, xs), x|
p ({:i => i, :x => x, :xs => xs}) if $DEBUG
if /[0-9]+/ =~ x then
[i + 1, xs + [ARR[i].to_s]]
else
[i, xs + [x]]
end
}[1].join(' ')
IyDjgY/jgaDjgZnjgoxQeXRob24o6LaF5Yid5b+D6ICF55SoKSDjgZ3jga4zMQojIGh0dHA6Ly9lLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5oLm5ldC90ZXN0L3JlYWQuY2dpL3RlY2gvMTQ3NjI0Njg4OS8zODEKCiRERUJVRyA9IHRydWUKClNSQyA9ICcxMSArIDQ1ICogMSAtIDQnCkFSUiA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5XQoKcCBTUkMuc3BsaXQoLyArLykuaW5qZWN0KFswLCBbXV0pIHsgfChpLCB4cyksIHh8CglwICh7OmkgPT4gaSwgOnggPT4geCwgOnhzID0+IHhzfSkgaWYgJERFQlVHCgoJaWYgL1swLTldKy8gPX4geCB0aGVuCgkJW2kgKyAxLCB4cyArIFtBUlJbaV0udG9fc11dCgllbHNlCgkJW2ksICAgICB4cyArIFt4XV0KCWVuZAp9WzFdLmpvaW4oJyAnKQ==
{:i=>0, :x=>"11", :xs=>[]}
{:i=>1, :x=>"+", :xs=>["1"]}
{:i=>1, :x=>"45", :xs=>["1", "+"]}
{:i=>2, :x=>"*", :xs=>["1", "+", "2"]}
{:i=>2, :x=>"1", :xs=>["1", "+", "2", "*"]}
{:i=>3, :x=>"-", :xs=>["1", "+", "2", "*", "3"]}
{:i=>3, :x=>"4", :xs=>["1", "+", "2", "*", "3", "-"]}
"1 + 2 * 3 - 4"