0
目前我有这个代码片段:如何绑定到foreach上下文?
Blocks: ["F4369RO771" "282273" "5" "146" "126" "6-Nov-2009" "8-Jan-2010" "7-Jun-2010" "8"
"M9881KI923" "399727" "2" "359" "443" "5-Aug-2010" "23-Feb-2010" "6-Nov-2009" "4"
]
save-blocks: func[file /local f out][
foreach [field1 field2 field3 field4 field5 field6 field7 field8 field9] blocks [
out: copy ""
repeat n 9 [
part: get bind to-word rejoin ["field" n] 'field1
out: rejoin [out part ";"]
]
remove back tail out
write/lines/append f out
]
这不是一般的不够,我想通过这个来代替
block: [field1 field2 field3 field4 field5 field6 field7 field8 field9]
为参数,写这样的事:
save-blocks: func[block file /local f out][
foreach block blocks [
out: copy ""
repeat n length? block [
part: get bind to-word rejoin ["field" n] 'field1
out: rejoin [out part ";"]
]
remove back tail out
write/lines/append f out
]
但我不知道如何绑定在这种情况下对我来说太难了:(
非常感谢你真的IT从一个可怜的大脑试图完成事情完成:)真棒! 如果你不会忽视我想要做什么,它只是与http://stackoverflow.com/有关问题/ 2768563/i-need-to-generate -50-million-rows-csv-file-with-random-data-how-to-optimize -th 我想允许用户为他们指定任意数量的字段规格,以便他们不必每次修改保存功能。 如果有一些更优雅的方式,我当然很高兴地了解它:D – 2010-05-06 20:04:02
在另一个问题中,你问我不清楚你试图做到这一点,通过一个块传递给foreach这种惯用的风格。只需传递一个普通的词 - 它将分配无论多个字段的记录的值...然后有一个内部循环来通过它。 – HostileFork 2010-05-17 07:32:29
看到这个 http://stackoverflow.com/questions/3326484/extending-build-markup-with-repeat-refinement – 2010-07-24 19:14:46