我正在开发一个Lua库,我需要在其中大写给定字符串的第一个字母.因此我创建了以下功能:
local capitalize = function(s)
return string.gsub (s,
"(%w)([%w]*)",
function (first, rest)
return string.upper(first) .. rest
end,
1 )
end
Run Code Online (Sandbox Code Playgroud)
这最初是一个"内部"功能,仅在我的库中使用.
现在我意识到我的用户在某些情况下会想要使用这个功能.
问题1 我正在考虑扩展字符串表,但我不确定如何继续.这样做是否足够,还是有更"以卢安为导向"的方式?
string.capitalize = function(s)
... etc etc (same code as above)
Run Code Online (Sandbox Code Playgroud)
问题2 我想知道monkeypatch字符串是否是个好主意.我应该提供公共"大写"功能吗?
编辑 - 如果有人在将来发现这一点,字符串配方页面上会显示一个更简单的"大写"功能:
str = str:gsub("^%l", string.upper)
Run Code Online (Sandbox Code Playgroud) 我已经从源代码安装了Perl到/ usr/local,并相应调整了我的路径,遵循brian d foy的建议.
我确定我错过了一些东西,但是,现在我正在尝试用'cpan'命令安装东西而且它失败了,因为它无法写入/ usr/local.我必须使用sudo,这对我来说感觉不对.CPAN的东西应该去另一个地方吗?必须使用sudo是正常的吗?
我是Ruby初学者.从本书中,我知道Ruby方法名称应该以小写字母或下划线开头.但我发现了不同的场景:
如果在类外部定义了一个方法,它只能以小写字母开头,如果你试图定义一个以大写字母开头的方法,Ruby会抱怨错误,例如:
define sayHi
puts "Hello"
end
sayHi # => Hello
Run Code Online (Sandbox Code Playgroud)
但是,以下代码不起作用:
define SayHi
puts "Hello"
end
SayHi
Run Code Online (Sandbox Code Playgroud)
它会产生错误:
:in `<main>': uninitialized constant SayHi (NameError)
Run Code Online (Sandbox Code Playgroud)如果在类中定义了一个方法,那么它可以以大写字母开头:
class Test
def SayHi
puts "hello"
end
end
t = Test.new
t.SayHi # => hello
Run Code Online (Sandbox Code Playgroud)有谁知道为什么#1在#2工作时不起作用?ruby方法名称的确切规则是什么?
我有一个NSArray包含数字作为NSString对象.即.
[array addObject:[NSString stringWithFormat:@"%d", 100]];
Run Code Online (Sandbox Code Playgroud)
如何以数字方式对数组进行排序?我可以使用compare:options并指定NSNumericSearch为NSStringCompareOptions吗?请给我一个示例/示例代码.
我需要在ASP.NET MVC中的模型中生成一些URL.我想调用类似于UrlHelper.Action()的东西,它使用路由生成URL.我不介意填写通常的空白,如主机名,方案等.
有什么方法我可以打电话给那个吗?有没有办法构建UrlHelper?
这是一个计算机科学问题,而不是编程问题,但我认为这是所有相关网站中最好的问题.
当我发现正则表达式并查找该术语时,我认为这种"规律性"属性指的是表达式语言具有可定义的结构模式.然而,在阅读有关主题及其背后的理论时,我了解到有些语言不规则,但从定义它们的方式来看,很清楚模式可以与它们匹配.一种这样的语言是(a ^ n)(b ^ n).显然这是一种模式,但这不是一种常规语言.所以现在我想知道常规语言是什么使它们成为常规语言,这种语言不是吗?
在php中,您可以使用函数在全局范围内声明一个函数.
这在java中不可能吗?看起来每个函数都在类中作为方法.所以在java中一切都是OOP?没有程序代码?
我试图覆盖onConfigurationChanged方法,我得到错误:
BaseActivity类型的onConfigurationChanged(Configuration)方法必须覆盖或实现超类型方法
这是我的BaseActivity.java:
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.view.View.OnClickListener;
public class BaseActivity extends Activity
{
protected View.OnClickListener mButtonListenerUPP;
protected View.OnClickListener mButtonListenerALT;
protected View.OnClickListener mButtonListenerNAV;
protected View.OnClickListener mButtonListenerHIS;
@Override
public void setContentView(int layoutResID)
{
super.setContentView(layoutResID);
}
@Override
public void onConfigurationChanged(Configuration newConfig)
{
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
互联网上的很多帖子都说我可以覆盖这种方法......任何想法?
我有一个非常广泛的网站,故意设计为没有垂直滚动但很多水平.
水平滚动对用户来说通常是一种痛苦,所以想知道是否有某种方式使用中间鼠标或其他滚动习惯(例如,向上/向下翻页,向上/向下箭头,鼠标中键/拖动)水平滚动而不是垂直滚动.
编辑:需要水平滚动的主要原因是布局/方法是从左到右的图形/交互时间轴.我已经找到了一些例子;
这个与MooTools:http://www.tinkainteractive.com.au/和我在http://naldzgraphics.net/inspirations/40-examples-of-horizontal-scrolling-websites/找到的其他一些例子
我试图发布一个ajax调用,就像它是以下表单元素:
<input type="text" name="data[BlogPost][title]" />
Run Code Online (Sandbox Code Playgroud)
但我这里没有运气是我的来源:
$.ajax({
url: "/add/",
type: "POST",
data: ( /* what do I do here */),
success: function(msg){
alert(msg);
}
});
Run Code Online (Sandbox Code Playgroud)
我尝试过嵌套对象,但只生成服务器响应,如:array'data'=> string'[object Object]'(length = 15)
谁没有任何好处!
有什么想法吗?