我写了类似的东西来指定提示的默认值.
$defaultValue = 'default'
$prompt = Read-Host "Press enter to accept the default [$($defaultValue)]"
if ($prompt -eq "") {} else {
$defaultValue = $prompt
}
Run Code Online (Sandbox Code Playgroud)
可以进一步缩短吗?
这是我的尝试.
$defaultValue = 'default'
$prompt = Read-Host "Press enter to accept the default [$($defaultValue)]"
if (!$prompt -eq "") {$defaultValue = $prompt}
Run Code Online (Sandbox Code Playgroud)
我想要一个单行,所以在那之前我会坚持接受答案.
Nb $defaultValue
应独立于一个衬管存放.与上面的例子类似.
我接受了答案,它引导我找到我想要的解决方案.
$defaultValue = 'default'
if (($result = Read-Host "Press enter to accept default value $defaultValue") -eq '') {$defaultValue} else {$result}
Run Code Online (Sandbox Code Playgroud)
对于那些问你原因的人.原因是因为跟随我的人眼睛更容易.在不牺牲清晰度的情况下,总是更少.恕我直言.
编辑;
而不是一行,也许我应该说一个短语?我添加了这个编辑澄清,而我看到的一些答案使用的是分号.
编辑:我最终从Bergi的答案中找到了答案.
谢谢Bergi.
pubPrivExample = (function () {
return {
init : function () {
var private;
this.setPrivate = function (p) {
private = p;
};
this.getPrivate = function () {
return private;
};
},
public : "This is public\n"
};
}());
var a;
a = Object.create(pubPrivExample);
a.init();
a.setPrivate("This is private");
document.write(a.getPrivate());
Run Code Online (Sandbox Code Playgroud)
编辑:似乎我的问题的答案是切断的.我真的对工厂不感兴趣,实际上宁愿不使用if.我的问题是关于私人国家.从Bergi的回答和评论我认为我可以把一些东西拉到一起.
未完待续...
编辑:Bergi已经开始回答下面的问题,但遗漏了最重要的部分 - 私人国家.
我有时间更多地考虑这个想法,但是在没有某种工厂的情况下仍然无法使用Object.create()实现私有状态.但我想错了,Bergi提到了一个解决方案......随意把Bergi的答案作为一个起点.
原文:我new
在javascript中避免的任务导致我到了一个特殊的地方.我想要私人对象成员,但我不想放弃Object.create()
.
这是代码.
var trackQueue = {};
trackQueue.factory = function () {
var that, queue;
that = this;
queue = …
Run Code Online (Sandbox Code Playgroud) javascript design-patterns private-members prototype-programming
我在项目工作时使用org-mode来管理我的时间.
我将任务分解为TODO项目并将其工作计算在他们身上(org-clock-in
和org-clock-out
).我在工作的同时org-add-note
用来记录自己的想法和进步.
我想要一个任何给定时间段(例如,最后一天,一周,两周,x和y之间)的报告,以确定我在给定时间正在处理的任务以及我写作的记录(存储在LOGBOOK中)我在工作?
我已经阅读了org-mode文档,看不出这个功能是否已经在某个地方实现,或者我是否应该从头开始,尽管我认为它是由自定义议程视图以某种方式提供的.我所看到的最接近的是议程时间线视图.
我很乐意接受指向文档的链接,这些链接可以让我编写正确的代码.任何工作片段都是明确的奖励,但我的问题的核心是概念性的,如何创建自定义视图或修改现有的时间轴视图来执行此操作?
编辑:示例文件和预期(希望)输出
* TODO Copy email from MongoDB to XML
:LOGBOOK:
CLOCK: [2015-06-01 Mon 08:40]--[2015-06-01 Mon 09:56] => 1:16
- Note taken on [2015-06-01 Mon 08:40] \\
Ops gave me the address of a Mongo Instance, getting to work
CLOCK: [2015-06-01 Mon 10:58]--[2015-06-01 Mon 11:00] => 0:02
- Note taken on [2015-06-01 Mon 10:59] \\
Ooops! Ops gave me a live instance, I have asked they put Mongo into a …
Run Code Online (Sandbox Code Playgroud) 这给我留下了\ Default.udl
<RegistryKey Key="Software\My Company\Product\Connections" Root="HKCU">
<RegistryValue Name="Default" Value="[INSTALLLOCATION]\Default.udl" Type="string" />
</RegistryKey>
Run Code Online (Sandbox Code Playgroud)
我想要像C:\ Program Files\Company\Product\Default.udl这样的东西
编辑:解决方案很简单,但任何人的"奖励积分"可以解释为什么我的方法不起作用.
ORIG:我想要一个org-mode-custom-command来显示一个只能从当前缓冲区创建的议程.
以下代码段显示了我想要的视图类型.
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files '("~/.agenda/notes.org"))))))))
Run Code Online (Sandbox Code Playgroud)
但是,我不想指定文件名,而是想使用当前缓冲区.这是我的抨击.
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files (buffer-file-name))))))))
Run Code Online (Sandbox Code Playgroud)
当我打开一个组织缓冲区并运行这个议程命令时,结果只是一个非常空白的议程视图.我认为这是因为缓冲区文件名的评估时间晚于我按下议程视图时......?
我还在开始学习elisp,所以不要犹豫,指出明显的.谢谢.
编辑:
根据评论中的建议.
(setq org-agenda-custom-commands
'(("b" "Buffer summary"
((todo "TODO" ((org-agenda-files (list (buffer-file-name)))))))))
Run Code Online (Sandbox Code Playgroud)
我收到了回溯.
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
file-directory-p(nil)
...etc...
Run Code Online (Sandbox Code Playgroud) 我知道有很多方法可以在现有的ruby数组中创建新元素.
例如
myArray = []
myArray + other_array
myArray << obj
myArray[index] = obj
Run Code Online (Sandbox Code Playgroud)
我也敢肯定,我可以使用.collect
,.map
,.concat
,.fill
,.replace
,.insert
,.join
,.pack
和.push
以及加入或修改的内容myArray
.
但是,我想确保myArray
只包含有效的HTTP/HTTPS URL.
任何人都可以解释我是如何强制执行这种行为的吗?
这是我到目前为止所得到的:
pages = []
pages << { :uri => 'a', :page => 'd' }
pages << { :uri => 'b', :page => 'e' }
pages << { :uri => 'c', :page => 'f' }
pages.each do |page|
puts page.has_value? 'b'
end
Run Code Online (Sandbox Code Playgroud)
但我想要的只是一个真实或错误的答案,例如,你是否包含'e'或'f'?
emacs ×2
org-mode ×2
ruby ×2
elisp ×1
javascript ×1
powershell ×1
refactoring ×1
registry ×1
wix ×1