我想颠倒文本文件(或stdin)中行的顺序,保留每行的内容.
所以,即从以下开始:
foo
bar
baz
Run Code Online (Sandbox Code Playgroud)
我想结束
baz
bar
foo
Run Code Online (Sandbox Code Playgroud)
是否有标准的UNIX命令行实用程序?
在编写单元测试时,我有时剪切并粘贴测试,不记得更改方法名称.这导致覆盖先前的测试,有效地隐藏它并阻止它运行.例如;
class WidgetTestCase(unittest.TestCase):
def test_foo_should_do_some_behavior(self):
self.assertEquals(42, self.widget.foo())
def test_foo_should_do_some_behavior(self):
self.widget.bar()
self.assertEquals(314, self.widget.foo())
Run Code Online (Sandbox Code Playgroud)
在这种情况下,只会调用后一个测试.是否有一种以编程方式捕获此类错误的方法,而不是直接解析原始源代码?
我正在尝试对一些实例化字体的iphone代码进行单元测试.我已将其缩小到以下崩溃单元测试:
#import "test.h"
#import <UIKit/UIKit.h>
@implementation test
- (void)testFonts {
[UIFont systemFontOfSize:12];
}
@end
Run Code Online (Sandbox Code Playgroud)
这与错误崩溃:
Test Case '-[test testFonts]' started.
/Developer/Tools/RunPlatformUnitTests.include: line 415: 79768 Trace/BPT trap "${THIN_TEST_RIG}" "${OTHER_TEST_FLAGS}" "${TEST_BUNDLE_PATH}"
/Developer/Tools/RunPlatformUnitTests.include:451: error: Test rig '/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/Developer/usr/bin/otest' exited abnormally with code 133 (it may have crashed).
Run Code Online (Sandbox Code Playgroud)
似乎有一些设置我没有在我的单元测试目标中做这个工作.你如何对实例化字体的东西进行单元测试?
是否有任何lint工具可用于actionscript?一个来源是理想的,但任何事情都是受欢迎的.
我的团队开始采用更严格的风格指南("更严格"意味着"存在"),我认为短信将帮助我们更容易地遵守我们已经同意的风格规则.我不是在写我自己的,但我想先看看还有什么.
在谷歌上快速搜索没有发现任何事情(至少到目前为止).
我希望能够基于查询参数和数据库中的数据的组合,从一个控制器动作有条件地发送到另一个控制器动作.
我现在拥有的是:
class OldController < ApplicationController
def old_controller_action
if should_use_new_controller
new_params = params.dup
new_params[:controller] = "new_controller_action"
redirect_to new_params
return
end
# rest of old and busted
end
end
class NewController < ApplicationController
def new_controller_action
# new hotness
end
end
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但它会发出HTTP重定向,这很慢.我希望能够做同样的事情,但在同一个HTTP请求中.
有干净的方法吗?
编辑:赏金将转到可以向我展示干净方式的人,使控制器及其操作相对不受影响(除了重定向代码本身).
我想在TabNavigator中有条件地隐藏选项卡.似乎设置可见无法正常工作(可能是因为这是TabNavigator隐藏当前未选中的选项卡的方式).
这样做的正确方法是什么?
我正在研究一个正在探索采用敏捷开发实践的可能性的团队.
我们遇到的一个问题是决定何时完成迭代(sprint).
假设我们已经定义了我们的功能积压,并为他们制作了故事点估计,我们已经确定第一个30天的冲刺将包括功能A,B,D和F.如果你在你身边,你应该怎么办?到达冲刺结束时你已经完成了A,D和F - 但是B只完成了80%.你应该:
按时完成冲刺但排除功能B(将剩余的工作推迟到未来的冲刺)
将sprint扩展到完成功能B所需的时间,但不启动下一个sprint.
将sprint扩展到完成功能B所需的时间并开始处理下一个sprint.
整个sprint失败,捆绑所有工作成为未来版本的一部分.
我在选项1中看到的问题是团队没有提供它所承诺的内容.在某些情况下,您可能无法在不使整个版本无用(或至少实质上不那么有价值)的情况下排除功能B. 如果没有特征B,可能难以指导下一个冲刺的方向.
选项2的问题在于团队中的某些成员可能在很长一段时间内闲置 - 这会影响整体生产力.您可以添加更多单元测试或抛光功能,但不会增加比例值.在政治上也难以向管理层解释为什么你的大部分团队都处于空闲状态.
选项3似乎违背了敏捷的精神 - 你不会让前一个sprint的结果引导下一次开发迭代,从而使下一个sprint面临风险.
选项4似乎很严重,并且在选项1和3中存在大多数相同的问题.首先,您完全错过了承诺.其次,将更多功能捆绑到后续版本中会使得更难以与客户进行测试和验证 - 并且它再次排除了根据之前版本的反馈来指导未来迭代的能力.
NSString *myString = @"sample string";
NSString *newString = [myString copy];
Run Code Online (Sandbox Code Playgroud)
如果我在这两行之后设置断点,myString的指针与newString的指针相同.
WTF?是不是NSString副本应该返回一个指向新对象的指针?或者我错过了关于副本应该如何工作的基本内容?
在ruby中,有一种方法可以在定义变量或常量后"取消定义"它吗?
在我们的轨道environemnts,我们定义了三个contants之一是true,根据不同的环境:TESTING,DEVELOPMENT或PRODUCTION.然后,在控制器代码中,我们使用defined?以查看我们所处的环境,即:defined? PRODUCTION.
现在,我想对一些特定于环境的行为进行单元测试.我最初的尝试是在我的测试中设置适当的常量,然后在拆解时重置它们.然而,我无法弄清楚如何重置DEVELOPMENT,并PRODUCTION使得defined?返回false.
显然,一个解决方案就是只检查合适的常量是否也是真的,除了检查它是否已定义,但这将导致必须触及相当数量的现有代码.
编辑:我意识到这绝对不是正确的做事方式.唉,改变它是一项非常重要的任务,所以我正在寻找一种简单的方法来单独测试现在的情况.另外,我也很好奇关于是否有可能取消定义变量/常数的低级语言问题.
这是ipad主题演讲的截图:
替代文字http://scottyallen.com/random/IMG_0009.PNG
工具栏非常平坦 - 它没有内置工具栏样式的垂直渐变.我玩过不同的风格,半透明的旗帜和浅色,并且无法复制它.
他们是怎么做到的?我该如何实现它?
iphone ×3
objective-c ×2
actionscript ×1
agile ×1
apache-flex ×1
command-line ×1
flash ×1
flex3 ×1
ipad ×1
lint ×1
nsstring ×1
python ×1
ruby ×1
shell ×1
unit-testing ×1
unix ×1
xcode ×1