dc -f infile -e '[+z1 Примечание, что отрицательные числа, снабженные префиксом знак "минус", должны быть переведены для dc
, так как это использует _
префикс, а не -
префикс для этого. Например, через tr '-' '_' | dc -f- -e '...'
.
Редактирование: Так как этот ответ получил столько голосов "за мрак", вот подробное объяснение:
выражение [+z1 делает следующий :
[ interpret everything to the next ] as a string
+ push two values off the stack, add them and push the result
z push the current stack depth
1 push one
Как псевдокод:
- Определяют "add_top_of_stack" как:
- Удаляют два главных значения от стека и добавляют результат назад
- , Если стек имеет два или больше значения, выполните "add_top_of_stack" рекурсивно
- , Если стек имеет два или больше значения, выполненная Печать "add_top_of_stack"
- результат, теперь единственный объект, оставленный в стеке
Для реального понимания простоты и питания dc
, вот является рабочим сценарием Python, который реализует некоторые команды от dc
и выполняет версию Python вышеупомянутой команды:
### Implement some commands from dc
registers = {'r': None}
stack = []
def add():
stack.append(stack.pop() + stack.pop())
def z():
stack.append(len(stack))
def less(reg):
if stack.pop() < stack.pop():
registers[reg]()
def store(reg):
registers[reg] = stack.pop()
def p():
print stack[-1]
### Python version of the dc command above
# The equivalent to -f: read a file and push every line to the stack
import fileinput
for line in fileinput.input():
stack.append(int(line.strip()))
def cmd():
add()
z()
stack.append(1)
less('r')
stack.append(cmd)
store('r')
z()
stack.append(1)
less('r')
p()
Я использовал это для создания IFrame через Javascript, и у меня это сработало:
// IFrame points to the IFrame element, obviously
IFrame.src = 'about: blank';
IFrame.style.backgroundColor = "transparent";
IFrame.frameBorder = "0";
IFrame.allowTransparency="true";
Не уверен, имеет ли это какое-либо значение, но я установил эти свойства перед добавлением IFrame в DOM. После добавления его в DOM я установил его src на реальный URL.
Почему бы просто не загрузить рамку за пределы экрана или скрыть ее, а затем отобразить ее после завершения загрузки. Вы можете сначала показать значок загрузки на его месте, чтобы сразу сообщить пользователю, что он загружается.