浏览代码

Handle CLI arguments without a value in `OS.get_cmdline_args()` example

Command lines such as `--host --address 127.0.0.1` are now parsed as
`{"host": "", "address": "127.0.0.1"}`.
Hugo Locurcio 3 年之前
父节点
当前提交
cd4b60d0d4
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      doc/classes/OS.xml

+ 10 - 0
doc/classes/OS.xml

@@ -175,6 +175,10 @@
 				    if argument.find("=") > -1:
 				    if argument.find("=") > -1:
 				        var key_value = argument.split("=")
 				        var key_value = argument.split("=")
 				        arguments[key_value[0].lstrip("--")] = key_value[1]
 				        arguments[key_value[0].lstrip("--")] = key_value[1]
+				    else:
+				        # Options without an argument will be present in the dictionary,
+				        # with the value set to an empty string.
+				        arguments[argument.lstrip("--")] = ""
 				[/gdscript]
 				[/gdscript]
 				[csharp]
 				[csharp]
 				var arguments = new Godot.Collections.Dictionary();
 				var arguments = new Godot.Collections.Dictionary();
@@ -185,6 +189,12 @@
 				        string[] keyValue = argument.Split("=");
 				        string[] keyValue = argument.Split("=");
 				        arguments[keyValue[0].LStrip("--")] = keyValue[1];
 				        arguments[keyValue[0].LStrip("--")] = keyValue[1];
 				    }
 				    }
+				    else
+				    {
+				        // Options without an argument will be present in the dictionary,
+				        // with the value set to an empty string.
+				        arguments[keyValue[0].LStrip("--")] = "";
+				    }
 				}
 				}
 				[/csharp]
 				[/csharp]
 				[/codeblocks]
 				[/codeblocks]