假设我在变量中有一堆文本some_var,这几乎可以是任何东西.
some_var = "Hello, I'm a \"fancy\" variable | with a pipe, double- and single-quotes (terminated and unterminated), and more."
Run Code Online (Sandbox Code Playgroud)
我们还要说,在CLI Ruby应用程序中,我想允许用户将该文本传递给任何Unix命令.我允许他们输入类似的东西some_var | espeak -a 200 -v en-us,其中管道右侧的命令是在他们的系统上安装的任何unix CLI工具.
我们还要说我已经将变量选择和管道分离出来了,所以我确切地知道管道后面的命令是100%.(在这种情况下,我想将变量的内容传递给espeak -a 200 -v en-us.)
我该怎么做?我认为我不能使用反引号方法或%x[]文字.我试过做以下事情......
system("echo '#{some_var}' | espeak -a 200 -v en-us")
Run Code Online (Sandbox Code Playgroud)
...但是任何特殊字符搞砸了,我无法删除特殊字符.我该怎么办?
在我的应用程序,我有一个ApplicationAdapter,其ajaxError方法是定制的.在该方法中,我希望能够转换到给定的路线.我怎样才能做到这一点?
App.ApplicationAdapter = DS.RESTAdapter.extend({
ajaxError: function(jqXHR) {
var error = this._super(jqXHR);
if (jqXHR) {
switch(jqXHR.status) {
// [...]
case 401:
// How can I transitionTo('login') here?
}
// [...]
}
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个Ember Data模型,我正在尝试根据async hasMany关系的属性执行计算属性.出于某种原因,它似乎永远不会重新计算.我该怎么做呢?
代码:
export default DS.Model.extend({
splits: DS.hasMany('split', { async: true }),
amount: Ember.reduceComputed('splits.@each.amount', {
initialValue: 0,
addedItem: function(accValue, split) { return accValue + split.get('amount'); },
removedItem: function(accValue, split) { return accValue - split.get('amount'); }
})
/* Neither of these work either.
amount: Ember.computed.sum('splits.@each.amount') // This doesn't work
amount: Ember.computed('splits.@each.amount', function() {
return this.get('splits').reduce(function(pValue, split) {
return pValue + split.get('amount');
}, 0);
})
*/
});
Run Code Online (Sandbox Code Playgroud)
失败的测试(预期1350,得到0):
import { test, moduleForModel } from 'ember-qunit';
import Transaction …Run Code Online (Sandbox Code Playgroud) 我试过在Ember Data 1.13.16模型上创建一个计算属性,如下所示:
export default DS.Model.extend({
name: DS.attr('string'),
isNameDirty: Ember.computed('name', 'hasDirtyAttributes', function() {
return !!this.changedAttributes()['name'];
})
});
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,在调用model.save()属性之后永远不会重新计算为false,即使name不再存在changedAttributes().如何使此计算属性有效?
这是一个简化的测试用例:https://ember-twiddle.com/87b1af7abfb103554cb2?openFiles = model.author.js%2C
有没有人知道如何获得相当于jQuery .offset()和.closest()没有JavaScript库的东西?
因为.closest(),如果我知道爬上DOM树有多远,我可以使用那么多.parentNodes,但如果我不知道要走多远,我就会陷入困境.
当我运行这一行JavaScript时,我得到了上述错误(并且thisMaxNode包含一个具有属性data-max="10"或其他数字的HTML Element对象):
var thisMax = parseFloat(thisMaxNode.getAttribute('data-max'));
Run Code Online (Sandbox Code Playgroud)
该HTMLElement对象究竟应该具有什么方法getAttribute?
我想这是一个风格问题.为什么人们会遇到用PHP 分配变量$_GET和$_POST数据的麻烦?例如,为什么这样做:
<?php
$name = $_GET['name'];
echo $name;
?>
Run Code Online (Sandbox Code Playgroud)
什么时候你可以这样做呢?
<?php
echo $_GET['name'];
?>
Run Code Online (Sandbox Code Playgroud) 我有一个我为我的网站构建的图像滑块,我设置为每3秒滑动一次(诊断后会慢一点,但我不想等待10秒钟才能看到错误).我也设置它,以便在它自动滑动之前,它检查toSlide变量是否设置为1(默认).当用户单击下一个/上一个链接或某个幻灯片时,它会设置toSlide为0.
我的问题是它再次自动滑动,然后设置toSlide回1,我无法弄清楚原因.请问有人帮帮我吗?
你可以在我的网站上看到HTML ,这里是Javascript:
//Featured Work Image Slider
// sC = sliderCount
// sA = slideAmount
// pH = pictureHeight
// sT = slideTime
var sC = 1;
var pH = 364;
var sT = 364
var toSlide = 1;
function slide(ms) {
$('#featured-box li').stop().animate({'top':sA},ms);
$('.sN').css({color:'#598dbe'});
$('#sN'+sC).css({color:'#464646'});
$('#fD > div').fadeOut(ms,function(){
$(this).css({display:'none'});
});
$('#fD-'+sC).fadeIn(ms,function(){
$('#fD-'+sC).css({display:'block'});
});
console.log(toSlide);
}
function autoSlide(ms) {
if(sC < 4) {
sC++;
sA = -(sC - 1) * pH; …Run Code Online (Sandbox Code Playgroud) interface Model {
[key: string]: string | number | boolean | Model | Model[];
}
interface ApiResponse {
[key: string]: Model[];
}
async function main(): Promise<void> {
const r = await api('foos_and_bars');
console.log(r.bars[0].baz.name); // Problem
console.log(r.foos[0].fuzzies[1].name); // Implicit any
}
main();
async function api(endpoint: string): Promise<ApiResponse> {
// Faked response:
return {
foos: [ { name: 'Foo 1', fuzzies: [{ name: 'Fuzzy 1' }, { name: 'Fuzzy 2'}] } ],
bars: [ { name: 'Bar 1', baz: …Run Code Online (Sandbox Code Playgroud) javascript ×5
ember-data ×3
ember.js ×3
jquery ×2
coding-style ×1
command-line ×1
html ×1
php ×1
ruby ×1
typescript ×1
unix ×1
variables ×1