在Rails中,文件file.css.sass.erb:
.class-name
width: <%= "10px" %>
Run Code Online (Sandbox Code Playgroud)
抛出错误:
Invalid CSS after "": expected expression (e.g. 1px, bold), was "<%= "10px" %>"
Run Code Online (Sandbox Code Playgroud)
它不应该工作吗?
仍在努力,但我发现,如果我将其更改为SCSS语法(文件名和代码),仍会导致非常类似的错误.
Invalid CSS after " width: ": expected expression (e.g. 1px, bold), was "<%= "10px" %>;"
Run Code Online (Sandbox Code Playgroud)
虽然,如果我删除的scss扩展,使CSS语法类似的文件名file.css.erb,Rails并编译如预期.
然而,考虑到我忘记了一些非常明显的事情,我也在考虑这可能是一个宝石冲突sass-rails,或者一个bug,或者其他东西.毕竟,代码在没有SASS扩展的情况下工作.
刚刚在同一问题上找到了其他4个未解答的问题:
其中一些人最终通过改变方法解决了这个问题.SASS文件的ERB问题仍然没有改变.
private const object foo = new {Prop1 = 10, Prop2 = 20};
Run Code Online (Sandbox Code Playgroud)
此代码将输出错误CS0836 : Anonymous types cannot be used in this expression. 但如果你删除const它将运行正常.
我真的只是想了解.为什么不能在常量声明中使用匿名类型?
更具体地说:应该用什么方式来声明这样的常量?
我不知道我是否正在使用此权限,但是我有以下sass/compass代码:
+text-shadow(red 0 3px 0 3px)
Run Code Online (Sandbox Code Playgroud)
产生以下内容css:
text-shadow: red 0 3px 3px, red 0 3px 0 3px;
text-shadow: red 0 3px 0 3px, red 0 3px 0 3px;
Run Code Online (Sandbox Code Playgroud)
这在Chrome / Safari / Firefox / Opera中均不起作用。
这是声明中的内容,还是此spread功能实际上已从规格中删除?
Koan代码,编号75:
in_ruby_version("mri") do
RubyConstant = "What is the sound of one hand clapping?"
def test_constants_become_symbols
all_symbols = Symbol.all_symbols
assert_equal __, all_symbols.include?(__)
end
end
Run Code Online (Sandbox Code Playgroud)
我对它有点困惑,因为我刚刚发现任何针对"all_symbols.include?(__)"进行测试的符号都将匹配"true".例如,以下所有内容都应该有效:
assert_equal true, all_symbols.include?(:RubyConstant)
assert_equal true, all_symbols.include?(:"What is the sound of one hand clapping?")
assert_equal true, all_symbols.include?(:AnythingElseYouCouldWriteHere)
Run Code Online (Sandbox Code Playgroud)
用"constants_become_symbols"来学习什么?
两个类似的脚本在这里显示非常奇怪的行为.
A)下面的代码是nil can't be coerced into Fixnum (TypeError):
score = 0
ammount = 4
score += case ammount
when ammount >= 3; 10
when ammount < 3; 1
end
puts score
Run Code Online (Sandbox Code Playgroud)
B)另一个是放入1控制台日志.
score = 0
ammount = 4
score += case ammount
when ammount >= 3; 10
else 1
end
puts score
Run Code Online (Sandbox Code Playgroud)
我希望这两个脚本都输出10到控制台上.我错了吗?为什么?