このコードスニペットでfields-types
は、最終的に関数によって変更されto-camel-case
ますが、ローカル変数として親関数に渡されます。
fields-types: ["First Name" "string" "Last Name" "string" "Age" "int"]
to-camel-case: function [name] [
name/1: lowercase name/1
replace/all name space ""
]
fill-template-body: func [
field-labels-types [block!] /local vars fields-names-types
] [
vars: [member-name member-type]
field-names-types: copy []
foreach [field-label field-type] field-labels-types [
append field-names-types to-camel-case field-label
append field-names-types field-type
]
]
fill-template-body fields-types
実行すると:
>> fill-template-body fields-types
== ["firstName" "string" "lastName" "string" "age" "int"]
>> fields-types
== ["firstName" "string" "lastName" "string" "age" "int"]
>>
私はそのフィールドタイプを不変のままにしておきたいのですが:
fields-types: ["First Name" "string" "Last Name" "string" "Age" "int"]
もちろんto-camel-case
、名前のコピーを使用するように変更することでこれを回避することもできますが、それは私がしなければならないと思うことではありません。
Scalaにvar
andキーワードのようなものはありますか?val