我写了一个像这样的shell脚本:
#! /bin/sh
...
ls | grep "android"
...
Run Code Online (Sandbox Code Playgroud)
输出是:
android1
android2
xx_android
...
Run Code Online (Sandbox Code Playgroud)
我想在每个文件中添加一个数字,如下所示:
1 android1
2 android2
3 XX_android
...
please choose your dir number:
Run Code Online (Sandbox Code Playgroud)
然后等待用户输入行号x,脚本读回行号然后处理相应的目录.我们怎么能在shell中做到这一点?谢谢 !
我想在git分支中搜索我和所有其他文件之间共同修改的文件,作为早期冲突检测的方法.有没有一种方法让git允许我这样做,我忽略(或通过shell脚本)?
我现在想到的方法是作为post-commit钩子:
git diff --name-only master在我正在的分支上执行a ,以确定我将在其他分支中搜索的所有文件(以生成冲突分支的列表)git diff --name-only origin/<remote branch> origin/master在过去的几个月里,我最近开始用 Java 编码。我有一个 Matrix 类,它因为有很多方法而变得过于臃肿。我还有一个 SquareMatrix 类,它扩展了 Matrix,并减少了一些膨胀。
我发现 Matrix 类中的许多方法通常与矩阵相关。它具有所有基础知识,如 addMatrix(Matrix)、multiplyMatrix(Matrix)、multiplyMatrix(float),以及更复杂的方法,如 getGaussian(Matrix) 或 getLUDecomposition(Matrix)。
减少 Matrix 类中的行数有哪些选择?一个类变得非常大是正常的吗?我不这么认为......这是我应该尽早考虑并且重构很困难的事情吗?或者有简单的解决方案吗?
谢谢!
编辑:在阅读了一些回复后,我正在考虑执行以下操作:
实用程序类Matrix 包含矩阵的所有常见/基本方法
委托类(Helper/sub):
*辅助类* getGaussian(..), getLUFactorization(..), ...
子类 (扩展矩阵)SquareMatrix、LowerTriMatrix、UpperTriMatrix、...
委托似乎类似于在 C++ 中定义多个带有头文件的 .cpp 文件。仍然欢迎更多提示。
Edit2:另外,我更喜欢通过正确设计来重构,而不是快速修复。我希望它有助于未来的项目,而不仅仅是这个项目。
我注意到GLUT仅适用于C++.我希望在Java上重用我的OpenGL代码,然后再将其移植到Android.对于这些系统,是否有任何"标准"代替GLUT?
编辑: 我实际上正在使用JOGL并且对通过Java重新实现并且不重用C++感兴趣.我对C++,Java和OpenGL有基本的了解,但还没什么特别的.我很好地试图找出关于窗口的一切,比如调整大小,着色等等.我想知道是否有什么可以帮助我使用一些(更高级的?)函数,如glutSwapBuffers(),glutDisplayFunc(),glutMainLoop( )等
出于某种原因,我收到了错误Package X requires unavailable shared library com.android.future.usb.accessory。
该库包含在 Project Explorer 的项目文件夹下。[项目文件夹] -> Google API [Android 2.3.3] -> usb.jar -> com.android.future.usb -> UsbAccessory.class,UsbManager.class。
我正在使用 Google API 2.3.3 (API 10)。我需要它,因为我将它连接到 Arduino USB 主机扩展板。到目前为止,我一直在我的手机上调试,但现在我需要日志和调试信息,因为我的程序由于某种原因没有发送数据,我不知道为什么。当我将它连接到我的计算机(而不是使用 AVD)时,该程序至少会加载并执行某些操作。使用模拟器,什么都加载。
我正在使用带有 Android 4.2.2 (API 17) 的 Android 虚拟设备。
我的清单包括以下内容:
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
<uses library android:name="com.android.future.usb.accessory"></uses-library>
<activity android:name="ArduinoActivity" android:label="@string/app_name" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" />
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
更新:我已将 API 更改为 Android 3.1 (API 12)。我已将库更改为 …
我有以下示例代码
DECLARE
myRow table%rowtype
myVar table2.column%type
BEGIN
SELECT table.col1, table.col3, table.col4, table2.column
INTO myRow
FROM table
JOIN table2
On table.col6 = table2.col1;
END;
Run Code Online (Sandbox Code Playgroud)
我如何重构以使其成为有效的陈述?我可以以某种方式将加入的列存储到myRow或myVar上吗?
我有一个feature分支和一个testing分支(用于初始回归).我想testing为测试环境提供一个可用于我的分支的工作副本.但是,我需要通过脚本压缩一些源代码(不是二进制,只是优化).我可以通过post-receive Git钩子来制作这个脚本.
我正在尝试设计我的bash脚本(用于CI),因此它非常强大,并希望避免自动化导致Git冲突.我正在考虑拥有一个主存储库(origin)和一个测试环境存储库(ci_test),只是为了允许CI提交.
我正在考虑ci_test/testing推广来源.origin/testing如果需要,CI应该压缩,添加,提交,获取,合并(将其完全iff冲突),然后推送到origin/testing.
我上面的模型的问题是,当我尝试推送时,Git会抱怨,ci_test/testing因为它有一个工作副本(有意义,因为它们可能无法同步).有没有一种适当的(自动化)方法来使用Git的持续集成脚本,以便它们仍然被跟踪?
我有一个控制器
use Doctrine\ORM\EntityManagerInterface:
class ExampleController{
public function someFunction(ExampleService $injectedService){
$injectedService->serviceFunction();
}
}
Run Code Online (Sandbox Code Playgroud)
有服务
use Doctrine\ORM\EntityManagerInterface;
class ExampleService{
public function __construct(EntityManagerInterface $em){
...
}
}
Run Code Online (Sandbox Code Playgroud)
但是,someFunction()由于传递了0个参数(未注入EntityManagerInterface),导致调用失败。我正在尝试从服务中使用EntityManager。自动接线功能已开启。我已经尝试过Symfony3的解决方案,但是除非我缺少某些东西,否则它们似乎无法工作。
编辑:这是我的services.yaml:
services:
_defaults:
autowire: true
autoconfigure: true
public: false
App\:
resource: '../src/*'
exclude: '../src/{Entity,Migrations,Tests,Kernel.php}'
App\Controller\:
resource: '../src/Controller'
tags: ['controller.service_arguments']
Run Code Online (Sandbox Code Playgroud)